解决方案 »
- 一个关于多线程的问题 很急的。。。。
- 怎样使StringGrid 焦点聚焦在StringGrid上,而不是在其附加的Edit上?
- 请教这是什么控件及名称:好像是TTreeview,但是有表头Column,子节点属于TListview的TListItem。
- 超级简单问题,在线等待
- 如何编写输入法安装程序?
- 急!dbgrid问题
- 怎样给dbctrlgrid控件加上背景图片
- 关于datetime与smalldatetime的问题
- 我想学编写游戏!
- 怎样在数据库中输入了许多条记录后, 一次性存盘成功?
- 请问字符串SHL左移后怎么还原?
- delphi7 TWideMemoField缺少 是需要安装哪个控件包?
var
ifile:TInifile;
begin
if fileexists('c:\windows\sqlset.ini') then
begin
ifile:=Tinifile.create('c:\windows\sqlset.ini') ;
try
result:=ifile.readstring('SQL','str','');
ifile.Free;
except
showmessage('请配置服务器!');
form1.Close;
end;
end;
end;上面的代码内存泄露:try-Except里面如果真有异常,那么这个iFile是没有机会释放了。procedure TForm2.FormCreate(Sender: TObject);
begin
adoquery1.Connection.Close;
adoquery1.ConnectionString:='Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=MK_DB;Data Source='+getsqlserver;
adoquery1.Connection.Open;
end;字符串在''之间是需要加''''的,貌似User ID = ''sa'',你细细看下错误提示,这个应该会提示出来的
procedure TForm2.FormCreate(Sender: TObject);把form1改为form2
procedure TForm2.FormCreate(Sender: TObject);
begin
//adoquery1.Connection.Close;
adoquery1.Close;
adoquery1.ConnectionString:='Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=MK_DB;Data Source='+getsqlserver;
//adoquery1.Connection.Open;
adoquery1.Open;
end;
if Edit1.Text='' then
begin
MessageBox(Handle,'房间号不能为空','警告!',MB_OK + MB_ICONWARNING);
Edit1.SetFocus;
Exit;
end;
if Edit2.Text='' then
begin
MessageBox(Handle,'楼层数不能为空','警告!',MB_OK + MB_ICONWARNING);
Edit2.SetFocus;
Exit;
end;
if Edit3.Text='' then
begin
MessageBox(Handle,'开始房间不能为空','警告!',MB_OK + MB_ICONWARNING);
Edit3.SetFocus;
Exit;
end;
if Edit4.Text= '' then
begin
MessageBox(Handle ,'结束房间不能为空','警告', MB_OK + MB_ICONWARNING);
Edit4.SetFocus;
Exit;
end;
if Edit5.Text='' then
begin
MessageBox(Handle,'房间价格不能为空','警告!',MB_OK + MB_ICONWARNING);
Edit5.SetFocus;
Exit;
end;
if Edit6.Text= '' then
begin
MessageBox(Handle,'每舍人数不能为空','警告',MB_OK + MB_ICONWARNING);
Edit6.SetFocus;
Exit;
end;
try
with FrmCSh.ADOQuery1 do
begin
FrmCSh.ADOQuery1.Close;
FrmCSh.ADOQuery1.SQL.Clear;
FrmCSh.ADOQuery1.SQL.Text:='insert into 宿舍管理 (lfhao,lfceng,ksfjian,jsfjian,fjjge,msrshu)values (:lfhao,:lfceng,:ksfjian,:jsfjian,:fjjge,:msrshu)';
FrmCSh.ADOQuery1.Parameters.ParamByName('lfhao').Value:=Trim(Edit1.Text);
FrmCSh.ADOQuery1.Parameters.ParamByName('lfceng').Value:=Trim(Edit2.Text);
FrmCSh.ADOQuery1.Parameters.ParamByName('ksfjian').Value:=Trim(Edit3.Text);
FrmCSh.ADOQuery1.Parameters.ParamByName('jsfjian').Value:=Trim(Edit4.Text);
FrmCSh.ADOQuery1.Parameters.ParamByName('fjjge').Value:=Trim(Edit5.Text);
FrmCSh.ADOQuery1.Parameters.ParamByName('msrshu').Value:=Trim(Edit6.Text); ExecSQL;
end;
Application.MessageBox('添加成功','提示',64)
except
Application.MessageBox('添加失败','提示',64)
end;
end;