sql语句:保留要害字的问题.例如 size,text,user等
int size =10;
string sqlString = "insert into file(name,type,size) values('" + name + "','" + type + "','" +size+ "')";
db_cs write_db = new db_cs(); //定义调用
write_db.ExecuteOleDbWrite(sqlString);执行类中的函数;
今天我遇到该问题,调试了无数遍,还是不行,编译通过,但执行sql语句的时候出错.逐步分析.最后改为
string sqlString = "insert into file(size) values(''" +size+ "')"; 还是执行错误,天啊.不可能吧.最后查网上资料发现
例子 insert into User 要改为insert into [User] 保留要害字的问题,是属于关键字,(有些字段是不能定义的,因为在c#语法内规定它已经是.net内部成员,像 int , string等),于是我就向该方向想,
改了insert into [file]还是不行.郁闷啊。又检查数据库,没有问题啊。一切是这样的啊。不的其解.
后来我就怀疑是size问题。最后真的是size字段问题,快快改名.如改为
string sqlString = "insert into file(tt_size) values(''" +tt_size+ "')"; 数据库和编程定义同时改.ok,问题解决了。后来还发现了year等定义的字符串也是类似. 看来还要多些研究. 哈,后来还发现text 也是,但title则不是,在代码迁移方面,如果语法和检查没有错,在执行的时候出了错,好多时候要看看是不是有该情况哦。例如我在对一个asp的新闻系统做写入的时候,就发现了text定义为mdb数据库字段,结果出错。
08年11月发现如果mdb数据库表名user也是不行的。哈哈。会引起"from子句语法错误"