System.Data.OleDb.OleDBConnection OleDbCNN;
System.Data.OleDb.OleDbCommand OleDbCMD;
string cs;
cs = "Provider=vfpoledb.1;Data Source=d://cphoto//数据;"
OleDbCNN = new System.Data.OleDb.OleDBConnection(cs);
cs = "UPDATE VfpDbf set XM=@name, XB=@sex where zkzh=’0640240101’"
OleDbCMD = new System.Data.OleDb.OleDbCommand();
OleDbCMD.CommandType = CommandType.Text;
OleDbCMD.Connection = OleDbCNN;
OleDbCMD.CommandText = cs;
OleDbCMD.Parameters.Add("@name", OleDbType.VarChar);
OleDbCMD.Parameters["@name"].Value = "张山";
OleDbCMD.Parameters.Add("@name", OleDbType. VarChar);
OleDbCMD.Parameters["@sex"].Value = "男";
OleDbCNN.Open();
OleDbCMD.ExecuteNonQuery();
运行时出现“语法错误”,但使用: "UPDATE VfpDbf set XM=’张山’, XB=’男’ where zkzh=’0640240101’",则运行正常。
估计是由于Viusal Foxpro对SQL某些语法不支持造成的。
另,OleDb使用dBase IV的驱动连接到dBase、Foxpro表,使用参数时,正常。