Var
ChrName:String;
begin
ChrName:=Edit1.Text;
IF RadioButton1.Checked=False Then
begin
//
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('UPDATE user_info set CHRPHONE=:CHRPHONE,CHREMAIL=:CHREMAIL,CHRMEMO=:CHRMEMO Where CHRUSERNAME='''+ChrName+'''');
Query1.ParamByName('CHRPHONE').Value :=Edit2.Text;
Query1.ParamByName('CHREMAIL').Value :=Edit3.Text;
Query1.ParamByName('CHRMEMO').Value :=Memo1.Lines.Text;
Query1.ExecSQL;
MessageBox(Handle,'用户修改成功','提示',MB_ICONINFORMATION or MB_OK);
end
Else
begin
ShowMessage('请先选择<更改>');
end;
ChrName:String;
begin
ChrName:=Edit1.Text;
IF RadioButton1.Checked=False Then
begin
//
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('UPDATE user_info set CHRPHONE=:CHRPHONE,CHREMAIL=:CHREMAIL,CHRMEMO=:CHRMEMO Where CHRUSERNAME='''+ChrName+'''');
Query1.ParamByName('CHRPHONE').Value :=Edit2.Text;
Query1.ParamByName('CHREMAIL').Value :=Edit3.Text;
Query1.ParamByName('CHRMEMO').Value :=Memo1.Lines.Text;
Query1.ExecSQL;
MessageBox(Handle,'用户修改成功','提示',MB_ICONINFORMATION or MB_OK);
end
Else
begin
ShowMessage('请先选择<更改>');
end;
可能是Query1.ParamByName('CHRMEMO').Value :=Memo1.Lines.Text;这里的错
我把这条语句//掉 ,一样,所以不是这边的错误!
'UPDATE user_info set CHRPHONE=CHRPHONE,CHREMAIL=CHREMAIL,CHRMEMO=CHRMEMO Where CHRUSERNAME='''+ChrName+'''');
?
Project ProPart.exe raised exception class EAccessViolation with message'Access violation at address 0047E966 in module 'ProPart.exe',Read of address 00000000'.Process stopped.Use Step or Run to continue
这个错应该不是SQL语句的问题。
Query1.SQL.Add('UPDATE user_info set CHRPHONE=:CHRPHONE,CHREMAIL=:CHREMAIL,CHRMEMO=:CHRMEMO Where CHRUSERNAME='''+ChrName+'''');
这句好像没问题。
跟踪一下,看是执行到哪条语句出了问题
错误提示是没有获得CHRPHONE的值!