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子句语法错误"

原文地址:https://www.cnblogs.com/pyman/p/1280816.html