delphi與資料庫連線insert into語句分多行寫,該怎麼寫

2022-01-24 13:41:09 字數 5800 閱讀 6996

1樓:匿名使用者

var s:string;

begin

adoquery1.close;

adoquery1.sql.clear;

s := 'insert into reason(免除評定,試驗評定) values('''+mc_ed.text+''','''+sy_ed.text+''')';

s := s + ' insert into reason(編制者,編制日期) values('''+bzhzh_ed.text+''','''+bzhrq_ed.

text+''')';

adoquery1.sql.add(s);

adoquery1.execsql;

2樓:

你可以直接寫在adoquery1裡面,(不要在delphi前臺) 用儲存過程或者直接寫都可以.

語句如下:

insert into(免除評定,試驗評定,編制者,編制日期......)

values(:mc,:sy,:bzhzh,:bzhrq,.............)

delphi前臺的語句是

with adoquery1 do

begin

adoquery1.close;

adoquery1.parameters[0].value:=mc_ed.text;

adoquery1.parameters[1].value:=sy_ed.text;

adoquery1.parameters[2].value:=bzhzh_ed.text;

adoquery1.parameters[3].value:=bzhrq_ed.text;

adoquery1.parameters[4].value:=

--有多少寫多少

adoquery1.execsql;end

3樓:艾三毛

個人建議不要寫在delphi前臺裡面,你可以用storeproc用儲存過程,如果一定用query的話寫法這樣的,adoq.sql.add('select * from '+

'dbo.table');

他是通過一個引號加一個加號來實現連線。

4樓:匿名使用者

不妨定義一個變數strsql放置sql語句,然後用add(strsql)就行了。

5樓:張知斂英耀

你可以這樣,存時間的時候吧時分秒全部帶進去,取得時候規範下格式,個人覺得這樣操作比較好(而且在資料取出來的時候,用sql處理也比較方便)

sql語句中,insert into語句,要插入一條資料中,怎麼讓字串連起來?&怎麼打出來?

6樓:

字串連線符是"||",'qwe'||'qwe',&用"\&"進行轉義。

關於insert into 裡,帶條件判斷的sql語句怎麼寫?

7樓:四舍**入

1、方法一

if not exists(select * from table_name where filed1 = 1 ) then

insert into table_name values(1

2、將要插入的資料先寫入臨時表,然後用

insert into table_name

select * from #temp_table a left join table_name on a.filed1 = b.field1 where

b.filed1 is null

擴充套件資料:

基本語句

1、資料記錄篩選:

sql="select * from 資料表 where欄位名 = 欄位值 order by 欄位名[desc]"(按某個欄位值降序排列,預設升序asc)。

sql="select * from 資料表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]"

sql="select top 10 * from 資料表 where欄位名=欄位值 order by 欄位名 [desc]"

sql="select * from 資料表 where欄位名 in ('值1','值2','值3')"

sql="select * from 資料表 where 欄位名 between 值1 and 值2"

sql="select 列名1,列名2 from 資料表 where 欄位名=欄位值 group by 列名1,列名2 " (group by 用來分組,並且只有出現自group by 中的列名,才允許出現在select 語句中)。

2、更新資料記錄:

sql="update 資料表 set欄位名=欄位值 where 條件表示式"

sql="update 資料表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表示式"

3、刪除資料記錄:

sql="delete from 資料表 where 條件表示式"

sql="delete from 資料表" (將資料表所有記錄刪除)

8樓:

insert into table_name values() 這個語句是不能做判斷的,但可以建議你下面的語法實現:

if not exists(select * from table_name where filed1 = 1 ) then

insert into table_name values(1);

或者將你要插入的資料先寫入臨時表,然後用

insert into table_nameselect * from #temp_table a left join table_name on a.filed1 = b.field1 where b.

filed1 is null

9樓:匿名使用者

if not exists(select * from t where field1=插入值)// 判斷插入值是否不存在,不存在則執行插入

begin

insert into t(field1)values(插入值)end

10樓:釗悌

方法1:把field1設定為唯一列就可以。

方法2:如果非要用sql語句來寫的話,給個例子,看能否滿足樓主要求:

--語句 (@a為新值)

insert into t select @a where @a not in(select field1 from t);

***********************************===

案例:create table tt(c1 int);

insert into tt values(1);

insert into tt values(2);

--測試1

insert into tt select 4 where 4 not in(select c1 from tt);

(1 行受影響)

--測試2

insert into tt select 2 where 2 not in(select c1 from tt);

(0 行受影響)

11樓:匿名使用者

merge into t t1

using (select a,b from t where t.a='1001') t2

on ( t1.a=t2.a)

when not matched theninsert (a,b) values('1001',2);

類似這種的寫法,匹配不上才讓插入進去

12樓:

如果操作頻繁,倒不如加個觸發器

create trigger [dbo].[t_trigger_feild1_ins] on [dbo].[t]

instead of insert

asdeclare @field1value varchar(500)

select @field1value=field1 from inserted

if not exists(select * from t where field1=@field1value)

begin

insert into t(field1) values(@field1value)end

13樓:匿名使用者

insert into table(field1) select '你要插入的值' from table where field1 not in (select field1 from table)

delphi7 批量新增資料到資料庫應該怎麼寫?

14樓:匿名使用者

1 tadoquery 的locktype設定為ltbatchoptimistic

資料提交用updatebatch

快取提交

2 直接用語句insert into...

呼叫tadoquery的execsql方法

15樓:匿名使用者

用query .

delphi insert into 語句老是出錯,改了n遍了,無法完成新增操作?

16樓:匿名使用者

從語法上看沒錯,如果出錯,可能是資料庫訪問上面的,你把錯誤提示說下

17樓:

缺少單引號,可改成

with adoquery1 do

begin

close;

sql.clear;

sql.add('insert into admin(username,password) values('+quotedstr(edit1.text)+','+quotedstr(edit2.

text)+')');

execsql;

end;

不過最好還是採用引數的方式來寫

with adoquery1 do

begin

close;

sql.clear;

sql.add('insert into admin(username,password) values(:username,:password)');

parameters.paramvalues['username'] := edit1.text;

parameters.paramvalues['password'] := edit2.text;

prepared:=true;

execsql;

end;

18樓:匿名使用者

with adoquery2 do

begin

close;

sql.clear;

sql.add('insert into 分析結果 (報表時間,指標名稱,指標值)');

sql.add('values (:p1,:p2,:p3)');//此處注意是 values不是value

prepared := true;

parameters.parambyname('p1').value:=combobox2.text;

parameters.parambyname('p2').value:=tabsheet4.caption;

parameters.parambyname('p3').value:=edit18.text;

execsql;

end;

delphi在操作Access資料庫時。當資料插入或修改出錯時,如何使其回滾

tryadoconnection1.begintrans 開啟個事務 adoquery.close adoquery.sql.text adoquery.execsql adoconnection1.committrans 提交事務showmessage 成功 except on e excepti...

javaf怎麼連線oracle資料庫連線有兩個

多加一個address就可以了,如下 instance description address protocol tcp host 1 1 port 1521 address protocol tcp host 1 2 port 1521 connect data server dedicated ...

python怎麼連線mysql資料庫

python 運算元據庫,要安裝一個python和資料庫互動的包mysql python,然後我們就可以使用 mysqldb這個包進行資料庫操作了。2.如下 conn mysqldb.connect host localhost port 3306,user root passwd db mytes...