在区域设置Microsoft数据库中动态插入行

时间:2014-10-06 17:19:32

标签: c# sql database odbc

我想在mdb中的表中插入一行。我首先尝试使用OdbcAdapter,但它没有用。现在我正在尝试这个:

这是命令的字符串

string sql = "INSERT INTO tab_infoap (AP NR, Filiale, AP Device, MAC ddress, IP Address, SSID, Password, Accesso HTTP) " + "VALUE (?, ?, ?, ?, ?, ?, ?, ?, ?)";

每一个?我添加了一个参数

OdbcParameter p1 = new OdbcParameter("p1", OdbcType.VarChar);
p1.Value = "TEST";

然后我创建一个新的Odbc命令并添加我在

之前创建的所有参数
cmd = new OdbcCommand(sql, db);
cmd.Parameters.Add(p1);
[...]
cmd.Parameters.Add(p9);

之后,我尝试执行查询

cmd.ExecuteNonQuery();

但42000 INSERT INTO错误上升,我不知道该怎么做。

管理数据库的最佳方法是什么?我可以通过读者轻松阅读数据库中的条目:

OdbcCommandcmd = new OdbcCommand("SELECT * FROM tab_infoap", db);
OdbcDataReaderreader = null;
reader = cmd.ExecuteReader();

while(reader.Read())
{ 
  apInfoItem.APNumber = reader["AP NR"].ToString();
  [...]
}

1 个答案:

答案 0 :(得分:1)

带有空格的列名应包含方括号,例如。 [Column Name]。 将您的SQL字符串更改为:([AP NR], Filiale, [AP Device], [MAC ddress], [IP Address], SSID, Password, [Accesso HTTP])