Прошу гуру в VB.NET обьяснить в чём проблема с командой "INSERT INTO ..."
Ситуация:
есть БД Access;
таблица (пустая) с полями типа Long и 3xString (4-ре поля)
надо программно заполнить таблицу значениями.
Код на C# работает без вопросов:
- Код: Выделить всё
private void btnMaak_Click(object sender, EventArgs e)
{
int i;
long setID;
string setcode, setnaam, varia, sql;
for (i = 1; i < 6; i++)
{
setID = i * 111;
setcode = "SS" + setID.ToString();
setnaam = "Set" + setID.ToString();
varia = setcode + setnaam;
sql = "INSERT INTO Sets (setID, setcode, setnaam, varia) VALUES (" +
setID + ", '" + setcode + "', '" + setnaam + "', '" + varia + "');";
try
{
dbCon.Open();
dbCmd.CommandText = sql;
dbCmd.ExecuteNonQuery();
dbCon.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
dbCon.Close();
}
}
}
А при попытке выполнить тоже самое в VB студия ругается на команду INSERT INTO, выдавая такое сообщение:
Conversion from string "INSERT INTO Sets (setID, setcode" to type 'Double' is not valid.
Почему ей надо конвертировать текс в 'Double' хоть убейте НЕ ПОЙМУ. Где там там 'Double'?
- Код: Выделить всё
Private Sub btnMaak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMaak.Click
Dim i As Integer
Dim setID As Long
Dim setcode, setnaam, varia, sql As String
For i = 1 To 5
setID = i * 111
setcode = "SS" + setID.ToString()
setnaam = "Set" + setID.ToString()
varia = setcode + setnaam
sql = "INSERT INTO Sets (setID, setcode,setnaam,varia) VALUES (" _
+ setID + ", '" + setcode + "', '" + setnaam + "', '" + varia + "');"
Try
dbCon.Open()
dbCmd.CommandText = sql
dbCmd.ExecuteNonQuery()
dbCon.Close()
Catch ex As Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
Finally
dbCon.Close()
End Try
Next
End Sub
Из-за этой заморочки я немогу в Базе заполнить еще несколько таблиц. Каждый раз студия выдает похожее сообщение. Сделал маленький приерчик на C# все работает на УРА.
К сожалению всю программу не возможно переписать с VB на C#.
Задание писать на VB, плюс время критично.
Поскажите, что такого особенного в VB, чего я в данном случае не знаю.
Да этот глюк одинаков на двух разных машинах с разными дистрибутивами виндов и студий.