OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = conn;
OleDbParameter[] Params1 = new OleDbParameter[2];
Params1[0] = new OleDbParameter();
Params1[0].OleDbType = OleDbType.BSTR;
Params1[0].ParameterName = "ID";
Params1[0].Value = "e9318276-46d6-47e5-9230-d0e6493253f3";
Params1[1] = new OleDbParameter();
Params1[1].OleDbType = OleDbType.Numeric;
Params1[1].ParameterName = "Latitude";
Params1[1].Value = 3;
Params1[2] = new OleDbParameter();
Params1[2].OleDbType = OleDbType.Numeric;
Params1[2].ParameterName = "Longitude";
Params1[2].Value = 117.983956;
Params1[3] = new OleDbParameter();
Params1[3].OleDbType = OleDbType.BSTR;
Params1[3].ParameterName = "TitleInfo";
Params1[3].Value = Guid.NewGuid().ToString();
Params1[4] = new OleDbParameter();
Params1[4].OleDbType = OleDbType.BSTR;
Params1[4].ParameterName = "SymbolInfo";
Params1[4].Value = Guid.NewGuid().ToString();
Params1[5] = new OleDbParameter();
Params1[5].OleDbType = OleDbType.LongVarChar;
Params1[5].ParameterName = "Description";
Params1[5].Value = "aaaaaaaaaaaaaaaaaaa";
Params1[6] = new OleDbParameter();
Params1[6].OleDbType = OleDbType.Boolean;
Params1[6].ParameterName = "HasSymbol";
Params1[6].Value = true;
cmd1.Parameters.AddRange(Params1);
cmd1.CommandText = "UPDATE Symbol set Latitude=@Latitude, Longitude=@Longitude, TitleInfo=@TitleInfo, SymbolInfo=@SymbolInfo, Description=@Description, HasSymbol=@HasSymbol WHERE ID=@ID";
int b = cmd1.ExecuteNonQuery();
MessageBox.Show(b.ToString());
看段代码.主要是SQL语句那行..
我现在碰到的问题是只有WHERE条件的ID可以使用Parameter,句中set值的部分使用Parameter会执行0行.
ID为文本类型
Latitude为数字类型
Longitude为数字类型
TitleInfo为数字类型
SymbolInfo为数字类型
Description为备注类型
HasSymbol为是/否类型
如果把SQL换成"UPDATE Symbol set Latitude=6, Longitude=7, TitleInfo='e9318276-46d6-47e5-9230-d0e6493253f3', SymbolInfo='e9318276-46d6-47e5-9230-d0e6493253f3', Description='aaaaaaaaaaaaa', HasSymbol=1 WHERE ID=@ID"便可以执行区别就是WHERE条件,如果其他的换成参数便不可以运行..不知原因.
但可以执行插入操作"INSERT INTO Symbol VALUES (@ID, @Latitude, @Longitude, @TitleInfo, @SymbolInfo, @Description, @HasSymbol)"
所以我在想,是不是Update的赋值的地方不可以使用参数.?
有人说,充满技术的生活枯燥无味..
我笑他们不懂.因为只有技术才能充实生活..
学习就像生活,都需要善于总结,才能发现问题,取得进步..
生活中充满了数学算式与结构,只要我们善于观察和思考..