这个SQL语句哪错了?(15分)

  • 主题发起人 主题发起人 cnnoah
  • 开始时间 开始时间
C

cnnoah

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQuery1.SQL.Add('insert into csbxTest values('''+AxialForce+''''
+','''+ConfiningPressure+''''+','''+PorePressure+''''
+','''+Temperature+''''+','''+LengthDB+''''+','''+Wave+''''
+','''+VerticalScale+''''+','''+HorizontalScale+''''
+','''+HorizontalDelay+''''+')');
编译通过,但执行时没有向数据库表中添加数据,为什么?
 
表 csbxTest 中的要列出其字段吧!

如 insert into csbxtest(a,b,c,d,e,f,) values ('a','b','c','d','e','f')

 
写得这么一砣糊,我们怎么能看懂啊!不过有一个明显的地方,你搞太太糊了。

...Values('''+AxiaForce+''''+','''+ConfiningPressure....
^^^^^^^^这儿搞这么复杂干啥?

...Values('''+AxiaForce+''','''+ConfiningPressure....
这就是一样的啊。


 
''(双引号)不是在所有的数据库中都能使的,这与你用数据库有关,你可以用chr(39)或#39
取代它试试
 
用参数啊!
 
thanks u all

to tianrei
什么意思?



 
你应该是用EXECSQL吧
 
netwinds说的对,insert into (fieldName1,...,[fielName]) values( '',...,'')
然后要用ADOQuery1.ExecSQL执行
其他都一样的
 
同意楼上
 
请问我用adoconnection 和adquery如何连接sql server数据库?
 
不明白为什么要加那么多的“单引号“呢?
 
to wjames,netwinds
为什么要列出表 csbxTest 中的字段?
如果所输入的数据个数和表中字段个数相符不就行了?
 
同意楼上几位:
ADOQuery1.SQL.Add('insert into csbxTest values('''+AxialForce+'''
,'''+ConfiningPressure+''','''+PorePressure+'''
,'''+Temperature+''','''+LengthDB+''','''+Wave+'''
,'''+VerticalScale+''','''+HorizontalScale+'''
,'''+HorizontalDelay+''')');

加入 insert into csbxTest(...) values(.....)
 
费话,编译肯定是过了.只要你加入的是字符串.楼上的都说了,都是很好的建议.
 
多人接受答案了。
 
后退
顶部