首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

有字符的字符串无法执行SQL,解决思路

2012-03-01 
有字符的字符串无法执行SQL,急。买家71669465(2011-11-14 18:39:13)(留言时采购单状态:未付款) :我需要黑湖

有字符的字符串无法执行SQL,急。
买家71669465(2011-11-14 18:39:13)(留言时采购单状态:未付款) :我需要黑湖蓝43号的,谢谢您!辛苦了!麻?

有一个EDIT1的内容是这个,我想用SQL

SQL:=‘Insert into t1 (f1) values ’+Quotedstr(edit1.text)

竟然执行不了。



[解决办法]
不是吧,长度有没有超出?
SQL:='Insert into t1 (f1) values ('+Quotedstr(edit1.text)+')';

[解决办法]
用参数吧.
INSERT INTO Table (Field1) VALUES (:string1)
parameter......
[解决办法]
你的SQL本身肯定有问题的,如果能执行只能代表只一个字段,数据库SQL能解析了。

那就是数据库的问题,不知道你什么数据库,可以用MEMO类型代替。

你可以直接在数据库中执行SQL,看看什么问题。
INSERT INTO T1 (f1) VALUES('买家71669465(2011-11-14 18:39:13)(留言时采购单状态:未付款) :我需要黑湖蓝43号的,谢谢您!辛苦了!麻?');

sqlite> create temp table t1 (f1 varchar(1000));
Query OK

sqlite> INSERT INTO T1 (f1) VALUES('买家71669465(2011-11-14 18:39:13)(留言时采购单状态:未付款) :我需要黑湖蓝43号的,谢谢您!辛苦了!麻?');
Query OK

sqlite> SELECT * FROM T1;
+------------------------------------------------------------------+
| f1 |
+------------------------------------------------------------------+
| 买家71669465(2011-11-14 18:39:13)(留言时采购单状态:未付款) :我需要黑湖蓝43号的,谢谢您!辛苦了!麻? |
+------------------------------------------------------------------+
1 row in set

sqlite> 
我的SQLite是没有问题,delphi下测试也没有问题。
[解决办法]
你的问题我遇到过,如果你不用parameters来操作的话,就把paramcheck改成false;
ado遇到':'自动把后面的当作参加来处理的。

热点排行