结果name怎么也插不进去,不管输什么,每次插进去的都是空值,但我name字段还是主键,居然还能插进空值,请问怎么解决? with qry1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into 用户表 values(:name1,:password)');
Parameters.ParamByName('name1').Value := name;
Parameters.ParamByName('password').Value := password;
ExecSQL;
ShowMessage('添加成功!');
end;
begin
Close;
SQL.Clear;
SQL.Add('insert into 用户表 values(:name1,:password)');
Parameters.ParamByName('name1').Value := name;
Parameters.ParamByName('password').Value := password;
ExecSQL;
ShowMessage('添加成功!');
end;
解决方案 »
- 怎样判断在程序所在的路径下是否存在某个文件夹,如果没有则创建。
- 如何让TEdit在获取输入焦点后selectAll?
- 怎么用Delphi+ADO用wise installation 打包生成安装程序?
- 如何在状态栏中加载背景图片 !!!!!!!!!!!!!!
- TMS AdvStringGrid 2.4.04表头的对齐方式如何设置呀?
- 我用WebBrowser编了一个浏览器,但如果点击的超链接是新窗口打开的(target="_blank"),出来的还是IE啊,怎么办?
- 关于内存拷贝请教高手--急!!!
- 如何在一个form里的一个按钮click事件里关闭当前窗口,打开另外一个窗口.谢谢..
- 双字节问题!
- fastreport date 的格式顯示
- delphi中定义了系统热键能否控制热键
- 关于delphi的网络开发
是不是字段数量不一致了
SQL.Add('insert into [用户表]([用户名],[密码]) values(:name1,:password)');
Parameters.ParamByName('name1').Value := '1234';
Parameters.ParamByName('password').Value := '1234';
这得就能插进去。
SQL.Add('insert into [用户表]([用户名],[密码]) values(:name1,:password)');
Parameters.ParamByName('name1').Value := name;
Parameters.ParamByName('password').Value := '1234';
这得name有值,也传不进去
如果没有传值,会以Form的name值,或者其它的控件name值
若这些代码放在unit,有可能就是空的完整代码贴出来!!!!
后来我改成name1 就正常了
procedure TForm3.btn5Click(Sender: TObject);
var
name1,password: string;
confirm: Boolean;
begin
confirm := InputQuery('用户名','请输入用户名',name1);
if not confirm then
Exit;
confirm := InputQuery('密码','请输入密码(密码必须大于3位数)',password);
if not confirm then
Exit;
if (Length(name) < 3) or (Length(name) > 10) then
begin
ShowMessage('用户名必须在3-10位数之间!');
Exit;
end;
if (Length(password) < 4) or (Length(password) > 15) then
begin
ShowMessage('密码必须在4-15位数之间!');
Exit;
end;
try
with qry1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into [用户表]([用户名],[密码]) values(:name1,:password)');
Parameters.ParamByName('name1').Value := name1;
Parameters.ParamByName('password').Value := password;
ExecSQL;
ShowMessage('添加成功!');
cbb1.Items.Add(name1);
tbl1.Refresh;
end;
except
ShowMessage('添加失败!');
Exit;
end;end;
var
name1,password: string;
confirm: Boolean;
begin
confirm := InputQuery('用户名','请输入用户名',name1);
if not confirm then
Exit;
confirm := InputQuery('密码','请输入密码(密码必须大于3位数)',password);
if not confirm then
Exit;
if (Length(name) < 3) or (Length(name) > 10) then
begin
ShowMessage('用户名必须在3-10位数之间!');
Exit;
end;
if (Length(password) < 4) or (Length(password) > 15) then
begin
ShowMessage('密码必须在4-15位数之间!');
Exit;
end;
try
with qry1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into [用户表]([用户名],[密码]) values(:name1,:password)');
Parameters.ParamByName('name1').Value := name1;
Parameters.ParamByName('password').Value := password;
ExecSQL;
ShowMessage('添加成功!');
cbb1.Items.Add(name1);
tbl1.Refresh;
end;
except
ShowMessage('添加失败!');
Exit;
end;end;