请教下关于ADOQuery1.Parameters 这个的使用方法

lx2323235 2016-08-02 01:50:25
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.ParamCheck:=True;
ADOQuery1.SQL.Text:='select * from StdItems where name = :@name)';
ADOQuery1.Parameters.Clear;
ADOQuery1.Parameters.ParamByName('Name').Size:=10;
ADOQuery1.ExecSQL;
end;


我想修改paradox数据库中的一个字段的size或者type 请问这个代码那里错了呢
一直弹出的是找不到Name这个字段,
连接数据库正常,可以读出数据库内容
...全文
3734 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33681170 2017-08-14
  • 打赏
  • 举报
回复
大家 我想问一下=:a代表什么意思 我是个初学者 不都是:=吗
leeky 2017-01-18
  • 打赏
  • 举报
回复
你这是查询,不是修改表结构。 搜索 alter table ...
gk123 2017-01-16
  • 打赏
  • 举报
回复
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from StdItems where name = :name'); ADOQuery1.Parameters.ParamByName('Name').Size:=10; ADOQuery1.Parameters.ParamValues['name']:= '姓名'; ADOQuery1.ExecSQL;
gk123 2017-01-16
  • 打赏
  • 举报
回复
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:='select * from StdItems where name = :name)'; ADOQuery1.Parameters.ParamByName('Name').Size:=10; ADOQuery1.Parameters.ParamValues['name']:= '姓名'; ADOQuery1.ExecSQL;
xxzqbxxzqb 2017-01-12
  • 打赏
  • 举报
回复
实例.。 参照修改肯定没问题 with adoquery2 do begin close; sql.clear; sql.Add('update yewu'); sql.add('set 复核=''Y'',复核人=:fhr'); parameters.parambyname('fhr').value:=trim(form57.edit1.Text); sql.add('where 编码=:bmm'); parameters.parambyname('bmm').value:=trim(edit1.Text); execsql; end; //修改fenda表中的复核标志为Y with adoquery2 do begin close; sql.clear; sql.Add('update fenfa'); sql.add('set 复核=''Y'''); sql.add('where 编码=:bmm'); parameters.parambyname('bmm').value:=trim(edit1.Text); execsql; end;
yellowlongriver 2016-11-29
  • 打赏
  • 举报
回复
检查一下ADOQuery1的ConnectString,或者是否指定了正确的connection控件
S_Slan 2016-11-28
  • 打赏
  • 举报
回复
ADOQuery1.Parameters.Clear;..不要吧
三樱椒 2016-08-12
  • 打赏
  • 举报
回复
引用 4 楼 lx2323235 的回复:
[quote=引用 3 楼 u013485165 的回复:]

procedure TForm1.Button3Click(Sender: TObject);
begin
   with  ADOQuery1 do 
   begin
      Close;
      SQL.Clear;
      SQL.Text:='Update StdItems Set name =:name';   // 后面可以跟where条件
      Parameters.ParamByName('Name').Value :=10;
      ExecSQL;
  end;

end;


依然不能使用 提示的无法找到 name [/quote] name 的大小写 你试试
lx2323235 2016-08-04
  • 打赏
  • 举报
回复
引用 3 楼 u013485165 的回复:

procedure TForm1.Button3Click(Sender: TObject);
begin
   with  ADOQuery1 do 
   begin
      Close;
      SQL.Clear;
      SQL.Text:='Update StdItems Set name =:name';   // 后面可以跟where条件
      Parameters.ParamByName('Name').Value :=10;
      ExecSQL;
  end;

end;


依然不能使用 提示的无法找到 name
lx2323235 2016-08-02
  • 打赏
  • 举报
回复
引用 1 楼 jjpweb 的回复:
圈a去掉 另外你没有赋值,只是设置了size
能否写下代码呢? 确实不知道应该如何写了
jjpweb 2016-08-02
  • 打赏
  • 举报
回复
圈a去掉 另外你没有赋值,只是设置了size
  • 打赏
  • 举报
回复

procedure TForm1.Button3Click(Sender: TObject);
begin
   with  ADOQuery1 do 
   begin
      Close;
      SQL.Clear;
      SQL.Text:='Update StdItems Set name =:name';   // 后面可以跟where条件
      Parameters.ParamByName('Name').Value :=10;
      ExecSQL;
  end;

end;


unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, OleServer, Excel2000, ExtCtrls, Grids, DBGrids; type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; ComboBox1: TComboBox; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; if edit2.Text='13440101' then begin if combobox1.Text='全部学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Open end; if combobox1.Text='第一学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='1'; ADOQuery1.Open end; if combobox1.Text='第二学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='2'; ADOQuery1.Open end; if combobox1.Text='第三学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='3'; ADOQuery1.Open end; if combobox1.Text='第四学期' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq '); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='4'; ADOQuery1.Open end; end; if edit2.Text='13440102' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where xm=:sxm and xh=:sxh and xq=:sxq'); ADOQuery1.Parameters.ParamByName('sxm').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Parameters.ParamByName('sxq').Value :='1'; ADOQuery1.Open end; dbgrid1.Columns.Items[0].Width:=60; dbgrid1.Columns.Items[1].Width:=60; dbgrid1.Columns.Items[2].Width:=60; dbgrid1.Columns.Items[3].Width:=150; dbgrid1.Columns.Items[4].Width:=80; dbgrid1.Columns.Items[5].Width:=60; dbgrid1.Columns.Items[6].Width:=60; dbgrid1.Columns.Items[7].Width:=60; dbgrid1.Columns.Items[8].Width:=60; dbgrid1.Columns.Items[9].Width:=60; dbgrid1.Columns.Items[10].Width:=60; end; procedure TForm1.Button2Click(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; if edit2.Text='13440101' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where cj<60 and xh=:sxh'); ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Open; end; if edit2.Text='13440102' then begin ADOQuery1.SQL.Add('Select * From 13440101 Where cj<60 and xh=:sxh'); ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; ADOQuery1.Open; end; dbgrid1.Columns.Items[0].Width:=60; dbgrid1.Columns.Items[1].Width:=60; dbgrid1.Columns.Items[2].Width:=60; dbgrid1.Columns.Items[3].Width:=150; dbgrid1.Columns.Items[4].Width:=80; dbgrid1.Columns.Items[5].Width:=60; dbgrid1.Columns.Items[6].Width:=60; dbgrid1.Columns.Items[7].Width:=60; dbgrid1.Columns.Items[8].Width:=60; dbgrid1.Columns.Items[9].Width:=60; dbgrid1.Columns.Items[10].Width:=60; end; procedure TForm1.Button3Click(Sender: TObject); begin form1.ADOQuery1.Close; form1.ADOQuery1.SQL.Clear; form1.ADOQuery1.SQL.Add('Select xh From xsmessage Where xh=:sxh'); form1.ADOQuery1.Parameters.ParamByName('sxh').Value := Edit2.Text; form1.ADOQuery1.Open; form2.qrdbtext1.DataField:='xh'; form2.quickrep1.Preview; end; procedure TForm1.FormCreate(Sender: TObject); begin end; end.

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧