首先将Query1(控件名)的属性RequestLive设置为True然后有2种方法 1、 Query1.Append; Query1.FieldByName('项').value:='你要插入的值'; Query1.Post;2、 with Query1 do begin if Active then Close; SQL.Text:='insert TableName(field1.field2,field3...) values(value1,value2,value3,....) ' Open; end;
sorry!上面有点错误,这一行应为 SQL.Text:='insert into TableName(field1.field2,field3...) values(value1,value2,value3,....) '
query1.Requestlive:=true;
query1.insert;
query1.fieldbyname('id').asstring;='str';
query1.post;
好象还是不行。
报错说什么001是字段名,只能用常量,表达式,变量等等。
我用的是SQL 2000
Query1.SQL.Add('Values(001,''Tom'',20,''male'')');
事实上,我是把001的那个字段设成的Char(因为有时包括字母)
实际使用是:
Query1.SQL.Add('Values("CSD001","Tom",20,"male")');
错在哪里?
1、 Query1.Append;
Query1.FieldByName('项').value:='你要插入的值';
Query1.Post;2、 with Query1 do
begin
if Active then
Close;
SQL.Text:='insert TableName(field1.field2,field3...) values(value1,value2,value3,....) '
Open;
end;
SQL.Text:='insert into TableName(field1.field2,field3...) values(value1,value2,value3,....) '
Query1.Sql.Text:='insert intto tablename values(:value1,:value2,..)
Query1.ParamByname('value1').asstring:=变量1
Query1.ParamByname('value2').asinteger:=变量2
as后面可以根据字段的不同跟各种数据类型,具体的还是delphi的帮助仔细看看吧!
是不是SQL 2000要设置?
Query1.ExecSQL;
Query1.SQL.Add('Insert into Userinf');
Query1.SQL.Add('Values(001,'''+'Tom'''+',20,'''+'male'')');
1、
Query1.Append;
Query1.FieldByName('字段名').value:='你要插入的值';
Query1.Post; 2、 with Query1 do
begin
Close;
SQL.Text:='insert TableName(field1.field2,field3...) values(value1,value2,value3,....) '
Open;
end;
with Query1 do
begin
close;
sql.clear;
SQL.Add('Insert into Userinf');
SQL.Add('Values(''001'',''Tom'',20,''male'')'); //都是单引号
execsql;
end;
在执行下列语句时:
SQL.Clear;
SQL.Add('Insert Into Question Values("JSJ100","选择题","适 中","CPU 是什么?","中央处理器","方 逵","2002-02-04","2002-02-04","计算机图形学")');
ExecSQL(); //分步调试时出错的语句,到这一步出错了!
错误信息:
[Microsoft][ODBC SQL Server Driver][SQL Server]在此上下文中不允许使用'JSJ100'。
此处只允许使用常量,表达式或变量。不允许使用列名?。到底是什么问题呀!
SQL.Clear;
SQL.Add('Insert Into Question Values("DDD","选择题","适 中","CPU 是什么?","中央处理器","方 逵","2002-02-04","2002-02-04","计算机图形学")');
ExecSQL();
时分步调试;
出错语句是:ExecSQL();[Microsoft][ODBC SQL Server Driver][SQL Server]在此上下文中不允许使用'DDD'。
此处只允许使用常量,表达式或变量。不允许使用列名?。
query.parambyname('f1').asstring:='';
..
..
query.prepare;
query.execsql;
SQL.Clear;
SQL.Add('Insert Into Question Values('''JSJ100''','''选择题''','''适 中''','''CPU 是什么?''','''中央处理器''','''方 逵''','''2002-02-04''','''2002-02-04''','''计算机图形学''')');
ExecSQL(); //分步调试时出错的语句,到这一步出错了!
我想可能是分号的原因!