SQL语句问题(50分)

  • 主题发起人 vickymade
  • 开始时间
V

vickymade

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL语句中用Insert Into语句向一个表中插入数据Values部分中用参数的话,这样的语句
怎么写呀?
 
老兄,看看书再问吧,别浪费分。
 
INSERT INTO TableName(FieldName1, FieldName2)
VALUES :)Param1, :param2)
 
TO: tseug
这个应该是向Query控件里添加数据时的SQL语句。
我想要的是纯SQL的。并不一定用Delphi的。
 
query1.close;
query1.sql.clear;
query1.sql.add('INSERT INTO TableName(FieldName1, FieldName2)');
query1.sql.Add('VALUES :)Param1, :param2)');
query1.parambyname('param1').asstring:='dagdfgdf';
query1.parambyname('param2').asstring:='dagdfgdfsdfd';
query.execsql;
 
不用Delphi,就用纯SQL,谁会呀?
 
在线等待,回答出来的立马加分。
 
query.close;
query.clear;
query.sql.add('Insert into talbe1(a,b,c) values:)a,:b,:c);
query.prepare;
query.parambyname('a').AsString='kkk';
query.parambyname('b').AsInteger=123;
query.parambyname('c').AsString='dfdf';
query.execsql;
 
写个存储过程吧
 
to Blue2000 没写过存储过程,呵呵。不好意思,大虾能不能帮忙写一个。
另外,如果表很多的话,岂不是会写好多个存储过程。那么不用存储过程不可以吗?
 
对了,我需要补充一下,我的表里面还有一个Image字段和一个Text字段呢。
 
CREATE PROCEDURE prct_goods(@goodsId varchar(40),@goodsName varchar(100))
AS
declare @ifExist int
set @goodsId = left(@goodsId,20)
set @goodsName = left(@goodsName,60)
set @ifExist=( select count(*) from prcc_goods where wareid=@goodsid)
if @ifExist = 0
begin
insert into prcc_goods
values (@goodsId,@goodsName)
end
else
begin
update prcc_goods
set warename=@goodsName
where wareid=@goodsId
end
 
楼上的大哥,不用存储过程可以吗?另外对于Image和Text类型的字段,怎么往里面添加数据呀?
 
求助哦。我顶。
 
你可真高难度的问题,

不能用存储过程,不同的开放系统,当然会有不同的写法,
怎么可能找到通用的写法呢?
 
无聊,打他!
 
我好怕怕,各位GGJJDDMM们,行行好吧。帮帮忙。
 
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(Insert Into Tale(Field1,Image) Values:)params1,:params2);
Query1.Params.Items[0].AsString := '1123';
Query1.Params.Items[1].LoadFromStream(Image,ftBlob);
Query1.ExecSQL;

Imag是你的图象流
 
纯SQL怎么实现?
 
INSERT INTO TableName(FieldName1, FieldName2) VALUES :)Param1, :param2)
但就注意字段的类型与参数的对应否则会引起异常。
如果利用纯的SQL也是上面的写法,但VALUSES(param1,parmam2)的灵活性不强,每次
的特定值不能多次修改.
 
顶部