以下是建表已经存储过程:
create database testuse testcreate table login
(
id int IDENTITY (1, 1) NOT NULL,
usename varchar(50),
usepwd varchar(50)
)create proc inser_login
@usename varchar(50),
@usepwd varchar(50)
as
insert into login(usename,usepwd)values(@usename,@usepwd)
在DELPHI中 客户端 我用的ClientDataSet1+SocketConnection1控件
在BUTTON1中写的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
self.ClientDataSet1.close;
self.ClientDataSet1.Params.ParamByName('@usename').Value:=edit1.Text;
self.ClientDataSet1.Params.ParamByName('@usepwd').Value:=edit2.Text;
self.ClientDataSet1.Execute;
end;
运行后 在 edit1和edit2中输入 英文就能正确存入数据库!
而在 edit1和edit2中输入 中文后他就只能存部分数据到数据库,例如我输入“效益” 他存到数据库的既然只有“效”一个字!希望各位能帮我看看是问题出在哪里?
create database testuse testcreate table login
(
id int IDENTITY (1, 1) NOT NULL,
usename varchar(50),
usepwd varchar(50)
)create proc inser_login
@usename varchar(50),
@usepwd varchar(50)
as
insert into login(usename,usepwd)values(@usename,@usepwd)
在DELPHI中 客户端 我用的ClientDataSet1+SocketConnection1控件
在BUTTON1中写的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
self.ClientDataSet1.close;
self.ClientDataSet1.Params.ParamByName('@usename').Value:=edit1.Text;
self.ClientDataSet1.Params.ParamByName('@usepwd').Value:=edit2.Text;
self.ClientDataSet1.Execute;
end;
运行后 在 edit1和edit2中输入 英文就能正确存入数据库!
而在 edit1和edit2中输入 中文后他就只能存部分数据到数据库,例如我输入“效益” 他存到数据库的既然只有“效”一个字!希望各位能帮我看看是问题出在哪里?
解决方案 »
- 查询stringlist集合中是否有重复
- 怎么样实现在dbgrid的列中输入代码显示的是汉字??
- 关于indy ftp的问题
- API控制WORD的菜单
- 关于自动获得焦点,请帮忙!
- 请问《首届Borland中国大赛》现在进展的如何了?发去的东东,怎么杳无音信!
- 怎么知道数据库是否存在某个存储过程,在线急等!
- 想做一个所见即所得的html编辑器 谁有这方面技术资料 谢谢了
- 关于调用vc++ dll 定义结构体有问题?
- 如何用SQL语句在ACCESS文件中创建数据表?
- 如何通过activex关闭它所在的当前网页?
- delphi 写的程序,在我的机器上可以运行并添加数据操作.把程序和数据库考到别人机器上在别的机器上也可以运行,但是添加数据不可以
ClientDataSet2.FieldByName('@usename').AsString:=trim(Edit3.Text);
ClientDataSet2.FieldByName('@usepwd').AsString:=trim(Edit4.Text);
ClientDataSet2.Execute;
这样写就可以了 哈哈
或者
ClientDataSet2.Close;
ClientDataSet2.Open;
ClientDataSet2.Insert;
ClientDataSet2.FieldByName('usename').AsString:=trim(Edit3.Text);
ClientDataSet2.FieldByName('usepwd').AsString:=trim(Edit4.Text);
ClientDataSet2.Post;
ClientDataSet2.ApplyUpdates(-1);
这样写 效果都一样哦
只不过一个是用存储过程 还有一个是用的 ADOQUERY