急~!!!分数全给了~
时间:2011-12-06
来源:互联网
在进行数据修改时,都会发生varchar向int转化时失败
求高手解决
[code=Delphi(Pascal)][/code]unit xue_gai;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,DB,ADODB;
type
TOperState = (osAppend,osEdit);
TxueRecord = packed record
XueHao:string;
JiaZhi:string;
Xming:string;
XingBie:string;
BanJi:string;
JiGuan:string;
NianL:string;
end;
type
Tnew_edit = class(TForm)
lbl1: TLabel;
edt_XueHao: TEdit;
lbl2: TLabel;
edt_jiazhi: TEdit;
lbl3: TLabel;
edt_xming: TEdit;
lbl4: TLabel;
edt_xingbie: TEdit;
lbl5: TLabel;
edt_banji: TEdit;
lbl6: TLabel;
edt_nianl: TEdit;
lbl7: TLabel;
edt_jiguan: TEdit;
btn1: TBitBtn;
btn2: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
private
xueRecord:TxueRecord;
AQuery:TADOQuery;
FxueNO:Integer;
procedure SetxueNo(NO:string);
{ Private declarations }
public
OperState:TOperState;
property XueNo:string write SetxueNo;
{ Public declarations }
end;
var
new_edit: Tnew_edit;
implementation
uses xueji_BJ, main;
{$R *.dfm}
{ Tnew_edit }
procedure Tnew_edit.SetxueNo(NO: string);
begin
end;
procedure Tnew_edit.FormShow(Sender: TObject);
begin
if OperState = osEdit then
begin
with AQuery do
begin
Close;
SQL.Clear;
SQL.Add('select * from XueSheng where XueHao=:xueNO');
Parameters.ParamByName('xueNO').Value := FxueNO;
Open;
edt_XueHao.Text := fieldByName('XueHao').AsString;
edt_jiazhi.Text := fieldByName('JiaZhi').AsString;
edt_xming.Text := fieldByName('Xming').AsString;
edt_xingbie.Text:= fieldByName('XingBie').AsString;
edt_banji.Text:= fieldByName('BanJi').AsString;
edt_jiguan.Text:= fieldByName('jiguan').AsString;
edt_nianl.Text := fieldByName('nianl').AsString;
with xueRecord do
begin
XueHao := fieldByName('XueHao').AsString;
JiaZhi := fieldByName('JiaZhi').AsString;
Xming := fieldByName('Xming').AsString;
XingBie := fieldByName('XingBie').AsString;
BanJi := fieldByName('BanJi').AsString;
JiGuan := fieldByName('JiGuan').AsString;
NianL := fieldByName('NianL').AsString;
end;
end;
end;
end;
procedure Tnew_edit.FormCreate(Sender: TObject);
begin
AQuery := TADOQuery.Create(nil);
AQuery.Connection := MainForm.ADOConnection1;
end;
procedure Tnew_edit.btn1Click(Sender: TObject);
var
SQLStr:string;
begin
if OperState = osAppend then
begin
with AQuery do
begin
Close;
SQL.Clear;
SQL.Add('insert into XueSheng(XueHao,JiaZhi,Xming,XingBie,BanJi,JiGuan,NianL)values(:Xuehao,:JiaZhi,:Xming,:XingBie,:BanJi,:JiGuan,:NianL)');
Parameters.ParamByName('XueHao').Value:=Trim(edt_XueHao.Text);
Parameters.ParamByName('JiaZhi').Value :=Trim(edt_jiazhi.Text);
Parameters.ParamByName('Xming').Value :=Trim(edt_xming.Text);
Parameters.ParamByName('XingBie').Value:=Trim(edt_xingbie.Text);
Parameters.ParamByName('BanJi').Value :=Trim(edt_banji.Text);
Parameters.ParamByName('JiGuan').Value :=Trim(edt_jiguan.Text);
Parameters.ParamByName('NianL').Value :=Trim(edt_nianl.Text);
ExecSQL;
end;
end;
if OperState = osEdit then
begin
with AQuery do
begin
Close;
SQL.Clear;
SQLStr :='update XueSheng set';
if xueRecord.XueHao <> Trim(edt_XueHao.Text) then
SQLStr := SQLStr + ' XueHao='+ QuotedStr(Trim(edt_XueHao.Text))+',';
if xueRecord.JiaZhi <> Trim(edt_jiazhi.Text) then
SQLStr := SQLStr + ' JiaZhi='+ QuotedStr(Trim(edt_jiazhi.Text))+',';
if xueRecord.Xming <> Trim(edt_xming.Text) then
SQLStr := SQLStr + ' Xming='+ QuotedStr(Trim(edt_xming.Text))+',';
if xueRecord.XingBie <> Trim(edt_xingbie.Text) then
SQLStr := SQLStr + ' XingBie='+ QuotedStr(Trim(edt_xingbie.Text))+',';
if xueRecord.BanJi <> Trim(edt_banji.Text) then
SQLStr := SQLStr + ' BanJi='+ QuotedStr(Trim(edt_banji.Text))+',';
if xueRecord.JiGuan <> Trim(edt_jiguan.Text) then
SQLStr := SQLStr + ' jiguan='+ QuotedStr(Trim(edt_jiguan.Text))+',';
if xueRecord.NianL <> Trim(edt_nianl.Text) then
SQLStr := SQLStr + ' NianL='+ QuotedStr(Trim(edt_nianl.Text))+','
else
SQLStr := Copy(SQLStr,1,Length(SQLStr)-1);
SQLStr := SQLStr + 'where XueHao=' + IntToStr(FxueNO);
SQL.Add(SQLStr);
ExecSQL;
end;
end;
Close;
end;
procedure Tnew_edit.btn2Click(Sender: TObject);
begin
Close;
end;
end.
求高手解决
[code=Delphi(Pascal)][/code]unit xue_gai;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,DB,ADODB;
type
TOperState = (osAppend,osEdit);
TxueRecord = packed record
XueHao:string;
JiaZhi:string;
Xming:string;
XingBie:string;
BanJi:string;
JiGuan:string;
NianL:string;
end;
type
Tnew_edit = class(TForm)
lbl1: TLabel;
edt_XueHao: TEdit;
lbl2: TLabel;
edt_jiazhi: TEdit;
lbl3: TLabel;
edt_xming: TEdit;
lbl4: TLabel;
edt_xingbie: TEdit;
lbl5: TLabel;
edt_banji: TEdit;
lbl6: TLabel;
edt_nianl: TEdit;
lbl7: TLabel;
edt_jiguan: TEdit;
btn1: TBitBtn;
btn2: TBitBtn;
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
private
xueRecord:TxueRecord;
AQuery:TADOQuery;
FxueNO:Integer;
procedure SetxueNo(NO:string);
{ Private declarations }
public
OperState:TOperState;
property XueNo:string write SetxueNo;
{ Public declarations }
end;
var
new_edit: Tnew_edit;
implementation
uses xueji_BJ, main;
{$R *.dfm}
{ Tnew_edit }
procedure Tnew_edit.SetxueNo(NO: string);
begin
end;
procedure Tnew_edit.FormShow(Sender: TObject);
begin
if OperState = osEdit then
begin
with AQuery do
begin
Close;
SQL.Clear;
SQL.Add('select * from XueSheng where XueHao=:xueNO');
Parameters.ParamByName('xueNO').Value := FxueNO;
Open;
edt_XueHao.Text := fieldByName('XueHao').AsString;
edt_jiazhi.Text := fieldByName('JiaZhi').AsString;
edt_xming.Text := fieldByName('Xming').AsString;
edt_xingbie.Text:= fieldByName('XingBie').AsString;
edt_banji.Text:= fieldByName('BanJi').AsString;
edt_jiguan.Text:= fieldByName('jiguan').AsString;
edt_nianl.Text := fieldByName('nianl').AsString;
with xueRecord do
begin
XueHao := fieldByName('XueHao').AsString;
JiaZhi := fieldByName('JiaZhi').AsString;
Xming := fieldByName('Xming').AsString;
XingBie := fieldByName('XingBie').AsString;
BanJi := fieldByName('BanJi').AsString;
JiGuan := fieldByName('JiGuan').AsString;
NianL := fieldByName('NianL').AsString;
end;
end;
end;
end;
procedure Tnew_edit.FormCreate(Sender: TObject);
begin
AQuery := TADOQuery.Create(nil);
AQuery.Connection := MainForm.ADOConnection1;
end;
procedure Tnew_edit.btn1Click(Sender: TObject);
var
SQLStr:string;
begin
if OperState = osAppend then
begin
with AQuery do
begin
Close;
SQL.Clear;
SQL.Add('insert into XueSheng(XueHao,JiaZhi,Xming,XingBie,BanJi,JiGuan,NianL)values(:Xuehao,:JiaZhi,:Xming,:XingBie,:BanJi,:JiGuan,:NianL)');
Parameters.ParamByName('XueHao').Value:=Trim(edt_XueHao.Text);
Parameters.ParamByName('JiaZhi').Value :=Trim(edt_jiazhi.Text);
Parameters.ParamByName('Xming').Value :=Trim(edt_xming.Text);
Parameters.ParamByName('XingBie').Value:=Trim(edt_xingbie.Text);
Parameters.ParamByName('BanJi').Value :=Trim(edt_banji.Text);
Parameters.ParamByName('JiGuan').Value :=Trim(edt_jiguan.Text);
Parameters.ParamByName('NianL').Value :=Trim(edt_nianl.Text);
ExecSQL;
end;
end;
if OperState = osEdit then
begin
with AQuery do
begin
Close;
SQL.Clear;
SQLStr :='update XueSheng set';
if xueRecord.XueHao <> Trim(edt_XueHao.Text) then
SQLStr := SQLStr + ' XueHao='+ QuotedStr(Trim(edt_XueHao.Text))+',';
if xueRecord.JiaZhi <> Trim(edt_jiazhi.Text) then
SQLStr := SQLStr + ' JiaZhi='+ QuotedStr(Trim(edt_jiazhi.Text))+',';
if xueRecord.Xming <> Trim(edt_xming.Text) then
SQLStr := SQLStr + ' Xming='+ QuotedStr(Trim(edt_xming.Text))+',';
if xueRecord.XingBie <> Trim(edt_xingbie.Text) then
SQLStr := SQLStr + ' XingBie='+ QuotedStr(Trim(edt_xingbie.Text))+',';
if xueRecord.BanJi <> Trim(edt_banji.Text) then
SQLStr := SQLStr + ' BanJi='+ QuotedStr(Trim(edt_banji.Text))+',';
if xueRecord.JiGuan <> Trim(edt_jiguan.Text) then
SQLStr := SQLStr + ' jiguan='+ QuotedStr(Trim(edt_jiguan.Text))+',';
if xueRecord.NianL <> Trim(edt_nianl.Text) then
SQLStr := SQLStr + ' NianL='+ QuotedStr(Trim(edt_nianl.Text))+','
else
SQLStr := Copy(SQLStr,1,Length(SQLStr)-1);
SQLStr := SQLStr + 'where XueHao=' + IntToStr(FxueNO);
SQL.Add(SQLStr);
ExecSQL;
end;
end;
Close;
end;
procedure Tnew_edit.btn2Click(Sender: TObject);
begin
Close;
end;
end.
作者: HCDA_HCDP 发布时间: 2011-12-06
怎么全是AsString,QuotedStr
你要根据你表中字段的类型来使用啊
你要根据你表中字段的类型来使用啊
作者: kaikai_kk 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28