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...