我使用Visual Studio 2008和我的目标设备是WINCE设备代码。
在向SQL Server数据库中插入任何值时,出现“解析查询错误[令牌行号= 1令牌行偏移= 29令牌错误= 1]”的错误。
经过多次探索后,我发现实际上我的错误在哪里。早些时候,给列名我给它像“Ch 1”,“Ch 2”。 我刚刚更改了“我的列名称”,并将其设置为“Ch1”和“Ch2”,即我删除了该空间并且它工作正常。
这是我工作的代码
private void btnInsert_Click(object sender, EventArgs e)
{
SqlCeCommand cmd = con.CreateCommand();
cmd.CommandText = "INSERT INTO Tb (Ch1, Chl2) VALUES (?, ?)";
cmd.Parameters.Add(new SqlCeParameter("p1", SqlDbType.NText));
cmd.Parameters.Add(new SqlCeParameter("p2", SqlDbType.Int));
cmd.Parameters["p1"].Size = 50;
cmd.Prepare();
cmd.Parameters["p1"].Value =textBox1.Text;
cmd.Parameters["p2"].Value =textBox2.Text;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
displayTable();
}
private void displayTable()
{
SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM Tb", con1);
SqlCeDataReader reader = cmd.ExecuteReader();
DataTable table = new DataTable();
table.Columns.Add("Ch1", typeof(int));
table.Columns.Add("Ch2", typeof(string));
while (reader.Read())
{
table.Rows.Add(reader.GetInt32(0), reader.GetString(1));
}
reader.Close();
dataGrid1.DataSource = table;
}
希望它会帮助你。
参考波纹管链接,进一步的细节 http://technet.microsoft.com/en-us/library/aa226134%28v=sql.80%29.aspx
你可以试试这个: com.CommandText = “从customerinfo选择名称,其中[ID] = '” + textBox1.Text + “'”; – zelmarou
字段ID是什么类型的数据类型? – Steve