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

请教有关oracle+delphi的问题

尚未結案
arg_forever
一般會員


發表:2
回覆:4
積分:1
註冊:2003-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-04 10:58:09 IP:61.171.xxx.xxx 未訂閱
各位大侠,请指教: 想要在oracle数据库中动态插入一条记录,使用tquery控件 但是,由于表中数据较多(84万),要插入的列名为:actid,列值用变量rec_count,设置为longint型,那么语句应为: query1.close; query1.sql.clear; query1.sql.add('insert into 表名(actid) values(:rec_count)'); query1.open; 问题在于如何将rec_count的值赋给query1.params[0]呢?长整型的变量好像不能赋给query1.params[0]啊! 还有请教,如何用tquery获得oracle数据表的记录条数呢? 發表人 - arg_forever 於 2003/04/04 11:08:44
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-04 11:07:59 IP:211.21.xxx.xxx 未訂閱
引言: 各位大侠,请指教: 想要在oracle数据库中动态插入一条记录,使用tquery控件 但是,由于表中数据较多(84万),要插入的列名为:actid,列值用变量rec_count,设置为longint型,那么语句应为: query1.close; query1.sql.clear; query1.sql.add('insert into 表名(actid) values(:rec_count)'); query1.open; 问题在于如何将rec_count的值赋给query1.params[0]呢?长整型的变量好像不能赋给query1.params[0]啊! 还有请教,如何用tquery获得oracle数据表的记录条数呢?
  • query1.ParamByName('rec_count').AsInteger := 1234;
  • 取得記錄筆數: var aRecordCount: Integer; aRecordCount := query1.RecordCount;
~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
arg_forever
一般會員


發表:2
回覆:4
積分:1
註冊:2003-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-04 11:13:24 IP:61.171.xxx.xxx 未訂閱
谢谢您的回答,问题在于我现在要将longint型的数值赋给query1.param[0]啊,基本上是八\九十万左右的数据,
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-04 11:23:45 IP:61.219.xxx.xxx 未訂閱
引言: 各位大侠,请指教: 想要在oracle数据库中动态插入一条记录,使用tquery控件 但是,由于表中数据较多(84万),要插入的列名为:actid,列值用变量rec_count,设置为longint型,那么语句应为: query1.close; query1.sql.clear; query1.sql.add('insert into 表名(actid) values(:rec_count)'); ...如 channel 兄所言 query1.execsql; 问题在于如何将rec_count的值赋给query1.params[0]呢?长整型的变量好像不能赋给query1.params[0]啊! 还有请教,如何用tquery获得oracle数据表的记录条数呢? select count(*) from [tablename] 或 select max(rownum) from [tablename]
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-04 11:29:51 IP:211.21.xxx.xxx 未訂閱
引言: 谢谢您的回答,问题在于我现在要将longint型的数值赋给query1.param[0]啊,基本上是八\九十万左右的数据,
qry1.ParamByName('rec_count').DataType := ftInteger; longint 32-bit integer field ftInteger 32-bit integer field 同樣都是32-bit integer field應該是可以將Logint可以Asigned給query1.ParamByName('rec_count').AsInteger ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-04 11:49:07 IP:211.74.xxx.xxx 未訂閱
query1.sql.add('insert into 表名(actid) values(' #39 inttostr(rec_count) #39 ')'); TRY TRY SEE 發表人 - chih 於 2003/04/04 15:58:10
arg_forever
一般會員


發表:2
回覆:4
積分:1
註冊:2003-04-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-05 09:32:16 IP:61.170.xxx.xxx 未訂閱
请问chih,使用"query1.sql.add('insert into 表名(actid) values(' #39 inttostr(rec_count) #39 ')');"不是先将rec_count作为整型数转换为字符串,这样的话不是会造成类型不符么?因为rec_count是设置成长整型的呀.
arg_forever
一般會員


發表:2
回覆:4
積分:1
註冊:2003-04-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-05 09:34:21 IP:61.170.xxx.xxx 未訂閱
请问channel,如您所说,使用select max(rownum) from [tablename]的话,我该如何获得查询后的结果呢?
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-07 09:25:32 IP:211.21.xxx.xxx 未訂閱
引言: 请问channel,如您所说,使用select max(rownum) from [tablename]的话,我该如何获得查询后的结果呢?
var
  amaxrownum: Integer;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select max(rownum) maxrownum form [tablename]
')
Query1.Open;
amaxrowNum := Query1.FieldByName('maxrownum').AsInteger;
~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-07 09:48:45 IP:211.74.xxx.xxx 未訂閱
rec_count如果是長整型型態.. query1.sql.add('insert into 表名(actid) values(' #39 Realtostr(rec_count) #39 ')'); TRY TRY SEE
引言: 请问chih,使用"query1.sql.add('insert into 表名(actid) values(' #39 inttostr(rec_count) #39 ')');"不是先将rec_count作为整型数转换为字符串,这样的话不是会造成类型不符么?因为rec_count是设置成长整型的呀.
系統時間:2024-11-22 17:03:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!