全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1752
推到 Plurk!
推到 Facebook!

sql server 2000中insert长字符串的问题

答題得分者是:christie
张无极
一般會員


發表:6
回覆:5
積分:2
註冊:2006-12-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-08 10:41:04 IP:221.6.xxx.xxx 訂閱
我想在sqlserver2000的数据表中插入一行,用insert,代码如下:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('insert into 表1(fffff1,fffff2,fffff3,fffff4,fffff5,fffff6) values(''' edit1.text ''',''' edit2.text ''',''' edit3.text ''',''' edit4.text ''',''' memo1.text ''',''' memo2.text ''','''));
adoquery1.execsql;
运行时提示字符串太长,不怎该如何解决,请高手指点,谢谢!
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-08 10:56:31 IP:203.73.xxx.xxx 未訂閱
去掉紅色部分
===================引 用 张无极 文 章===================
我想在sqlserver2000的数据表中插入一行,用insert,代码如下:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('insert into 表1(fffff1,fffff2,fffff3,fffff4,fffff5,fffff6) values(''' edit1.text ''',''' edit2.text ''',''' edit3.text ''',''' edit4.text ''',''' memo1.text ''',''' memo2.text ''','''));
adoquery1.execsql;
运行时提示字符串太长,不怎该如何解决,请高手指点,谢谢!
------
What do we live for if not to make life less difficult for each other?
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-08 21:47:00 IP:219.84.xxx.xxx 訂閱
如果是字串太長的問題,不是多一個 , 的問題話

adoquery1.close;
adoquery1.sql.text:='select * from 表1';
adoquery1.sql.open;
adoquery1.insert;
adoquery1.fieldbyname('fffff1').asString:=edit1.text;
adoquery1.fieldbyname('fffff2').asString:=edit2.text;
adoquery1.fieldbyname('fffff3').asString:=edit3.text;
adoquery1.fieldbyname('fffff4').asString:=edit4.text;
adoquery1.fieldbyname('fffff5').asString:=memo1.text;
adoquery1.fieldbyname('fffff6').asString:=memo2.text;
adoquery1.post;

Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-09 00:19:22 IP:75.41.xxx.xxx 未訂閱
插一下花~
如果要插入新的資料欄為很多的又怕字串搞的很混淆,建議使用動態變數比較好控制。
查一下KTOP裡面,運用 Parameters 可以找到很多範例。
===================引 用 carstyc 文 章===================
如果是字串太長的問題,不是多一個 , 的問題話

adoquery1.close;
adoquery1.sql.text:='select * from 表1'; //這個指令在資料多時,會造成資料庫憑空運轉很多無謂的時間,沒有必要不要這樣使用。
adoquery1.sql.open;
adoquery1.insert;
adoquery1.fieldbyname('fffff1').asString:=edit1.text;
adoquery1.fieldbyname('fffff2').asString:=edit2.text;
adoquery1.fieldbyname('fffff3').asString:=edit3.text;
adoquery1.fieldbyname('fffff4').asString:=edit4.text;
adoquery1.fieldbyname('fffff5').asString:=memo1.text;
adoquery1.fieldbyname('fffff6').asString:=memo2.text;
adoquery1.post;
pcjung
一般會員


發表:1
回覆:17
積分:13
註冊:2002-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-12 08:55:25 IP:61.221.xxx.xxx 訂閱
有試著將語法最後面改為成  ...,'''+memo2.text+'''') 嗎,因Insert Into 是字串的話,要左右要一個單引號。
------
--Written by max
张无极
一般會員


發表:6
回覆:5
積分:2
註冊:2006-12-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-11-21 10:30:01 IP:221.6.xxx.xxx 訂閱
感谢大家的热心帮助,在大家的帮助下解决了,谢谢大家!
系統時間:2024-11-23 3:45:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!