Query Outbreak

Tulipsys 2002-05-09 06:50:18
怎么用Query进行数据库的操作(添加,删除,修改等)
我使用了以下代码:
Query1.Close;
Query1.SQL.Add('Insert to Income.db (金额,备注)');
Query1.SQL.Add('Values (Edit1.Text,Edit2.Text)');
Query1.ExecSQL;
想插入一个新记录,但是总不成功。哪儿有毛病?
另外,该怎样给货币类型的变量赋值?比如说将字符串‘10250.6’赋给一个货币类型的变量.
...全文
167 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mark_zheng 2002-05-10
  • 打赏
  • 举报
回复
用下面的代码肯定可以!
with query1 do
begin
close ;
sql.clear;
sql.add ('insert into income.db (金额,备注) values (:edit1 ,:edit2);
parambyname('edit1').asinteger :=strtoint(edit1.text);
parambyname('edit2').asinteger :=strtoint(edit2.text);
execsql;
end ;
Tulipsys 2002-05-10
  • 打赏
  • 举报
回复
我写了以下两种代码,但是不行。
IncomeQuery.Close;
IncomeQuery.SQL.Clear;
IncomeQuery.SQL.Add('Insert into Income.db (金额,日期,类别,家庭成员,备注)');
IncomeQuery.SQL.Add('Values ('+AddIncomeForm.SumEdit.Text+','''
+AddIncomeForm.ClassComboBox.Text+','''
+AddIncomeForm.FamilyComboBox.Text+','''
+DateToStr(AddIncomeForm.DateTimePicker.Date)+','''
+AddIncomeForm.RemarksEdit.Text+')'); IncomeQuery.ExecSQL;



IncomeQuery.SQL.Add('Insert into Income.db (金额,日期,类别,家庭成员,备注) Values (:Sum, :Date, :Class, :Family, :Remarks)');
IncomeQuery.ParamByName('Sum').AsCurrency:=StrToCurr(AddIncomeForm.SumEdit.Text);
IncomeQuery.ParamByName('Class').AsBlob:=AddIncomeForm.ClassComboBox.Text;
IncomeQuery.ParamByName('Family').AsBlob:=AddIncomeForm.FamilyComboBox.Text;
IncomeQuery.ParamByName('Date').AsDate:=AddIncomeForm.DateTimePicker.Date;
IncomeQuery.ParamByName('Remarks').AsBlob:=AddIncomeForm.RemarksEdit.Text;

IncomeQuery.ExecSQL;

Can you help me?
qggang 2002-05-10
  • 打赏
  • 举报
回复
query1.close;
query1.sql.clear;//清空以前的sql语句
Tulipsys 2002-05-10
  • 打赏
  • 举报
回复
谢谢各位!待我试过之后送分,OK?
softwing 2002-05-09
  • 打赏
  • 举报
回复
Query1.Close;
//在这里应该先清空Query1的SQL
Query1.SQL.Clear
wylove 2002-05-09
  • 打赏
  • 举报
回复
使用这样的语句,再试一下:
'Insert into Income values ('+Edit1.Text+','''+Edit2.Text+'')'
1nbud 2002-05-09
  • 打赏
  • 举报
回复
同上
如果是字符串类型的值必须用''括起来,正常的语句是
insert into A(FieldA,FieldB) values(10250.6, '小王借款')
而实际上10250.5和小王借款都在Edit中,所以只能这样写
'insert into A(FieldA,FieldB) values('+Edit1.Text+','''+Edit2.Text+'')';
并且Edit.Text不需要进行变换,因为SQL语句要的就是字符串类型
像楼上的strtocur并不需要!
huojiehai 2002-05-09
  • 打赏
  • 举报
回复
Query1.Close;
Query1.SQL.Add('Insert into Income.db (金额,备注) ');
Query1.SQL.Add('Values ('+strtocur(Edit1.Text)+','''+Edit2.Text+''')');
Query1.ExecSQL;

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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