首先我是個菜鳥,對多層資料結構開發不清楚,就采用access資料庫作為共享,客戶端通過IP訪問,資料模塊搭配是Tadoconnection-Tadoquery-TDataSetProvider-TClientDataSet-Tdatasource,也就不須要注冊等,在連接及讀取資料是都沒有問題,保存后就退出程式,為簡單直接采用對Tadoquery插入一記錄,除錯中出現錯誤:引數kshibh沒有默認值,不知什么原因
With dm1.qry_cj do
begin
dm1.qry_cj.Close;
dm1.qry_cj.SQL.Clear;
dm1.qry_cj.SQL.Add('insert into chengji([kshibianhao],[kshbianhao]) values(kshibh,kshbh)');
dm1.qry_cj.ExecSQL;
end;
uj5u.com熱心網友回復:
var
param: TParameter;
...
SQL.Clear;
SQL.Text := 'INSERT INTO ChengJi([kShiBianHao], [kShBianHao]) VALUES(:kshibh, :kshbh)';
param := Parameters.ParamByName('kshibh');
param.DataType := ftInteger; // 假設是整數;
param.Value := 10010; // 這里設定欄位值。
...
// 也可以如下(只是有缺陷):
SQL.Clear;
SQL.Text := Format('INSERT INTO ChengJi([kShiBianHao], [kShBianHao]) VALUES (%d, %d)', [kshibh, kshbh]));
ExecSQL;
uj5u.com熱心網友回復:
樓上正確,也可以在SQL 陳述句中除錯好,插到陳述句中有引號的欄位加上即可
uj5u.com熱心網友回復:
明顯的語法錯誤
With dm1.qry_cj do
begin
dm1.qry_cj.Close;
dm1.qry_cj.SQL.Clear;
dm1.qry_cj.SQL.Add('insert into chengji(['+kshibianhao+'],['+kshbianhao+']) values(kshibh,kshbh)');
dm1.qry_cj.ExecSQL;
end;
kshibianhao是整型系列的,還要加上IntToStr(kshibianhao)
dm1.qry_cj.SQL.Add('insert into chengji(['+IntToStr(kshibianhao)+'],['+IntToStr(kshbianhao)+']) values(kshibh,kshbh)');
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/284701.html
標籤:數據庫相關