string sql = "insert into Software(Sname,Sinfo,ImgName,Index) values(@sname,@sinfo,@img,@index)"; OleDbParameter[] parms = new OleDbParameter[] { new OleDbParameter ("@sname",software.Sname), new OleDbParameter("@sinfo",software.Sinfo), new OleDbParameter("@img",software.ImgName), new OleDbParameter("@id",larIndex) }; 如上代码,会报INSERT INTO 语句的语法错误 怎么回事?帮忙改改…不知道ACCESS是否可以用储存或用参数方式 我平时都是用拼接sql的
Index会不会是关键字? 看一不是不是含有关键字啦,有的话就加[]看下,如果还不行的话,就用具体值插入下,看能不能成功,如果不成功估计就是参数的问题了 OleDbParameter[] parms = new OleDbParameter[] { new OleDbParameter ("@sname",OleDbType.Varchar), ........ }; parms[0].value=software.Sname; 这样就可以了 他和链接sql数据库不太一样 只有整形的时候才可以用这种构造参数的 OleDbType.类型 如果说是文本类型的 用BStr