Delphi中如何用代码访问数据库的方法.docx
《Delphi中如何用代码访问数据库的方法.docx》由会员分享,可在线阅读,更多相关《Delphi中如何用代码访问数据库的方法.docx(5页珍藏版)》请在冰点文库上搜索。
Delphi7.0中如何用代码访问数据的方法
一、第一种方法:
1、设计的界面如下:
2、主要代码:
(1)启动窗口中的主要代码:
Se:
=ExtractFilePath(Application.ExeName)+'data\jczk.mdb';//动态取出系统文件的路径
ADOADOQuery1.ConnectionString:
='Provider=Microsoft.Jet.OLEDB.4.0;DataSource='+Se+';PersistSecurityInfo=False';
ADOADOQuery1.Close;
ADOADOQuery1.SQL.Clear;
ADOADOQuery1.SQL.Add('select*fromyhz');
ADOADOQuery1.Open;//ADOADOQuery1.ExecSQL;本句表示不返回值时的记录集合
ADOADOQuery1.Active:
=true;
(2)查询其它表时的代码:
ADOADOQuery1.Close;
ADOADOQuery1.SQL.Clear;
ADOADOQuery1.SQL.Add('select*fromjf11');
ADOADOQuery1.Open;
ADOADOQuery1.Active:
=true;
(3)提示窗口:
Application.MessageBox('ss','提示',64);
(4)说明:
DataSource1必须要与ADOADOQuery1连接在一起;DBGrid1必须要与DataSource1连接在一起。
(5)取值:
EDIT1.Text:
=ADOADOQuery1.FieldByName('yhz04').AsString
(6)怎么使用ADOQuery1给数据库添加数据?
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insertinto"Tab_Contron_record"');
ADOQuery1.SQL.Add('('+str_V+')');
ADOQuery1.SQL.Add('values('+str_T+')');
ADOQuery1.ParamByName('用户名').AsString:
='admin';
ADOQuery1.ParamByName('连接设备IP').AsString:
='192.168.18.66';
ADOQuery1.ParamByName('用户类型').AsString:
='管理员';
ADOQuery1.ParamByName('连接时间').AsString:
=datetimetostr(now);
ADOQuery1.ParamByName('备注').AsString:
='无';
ADOQuery1.ExecSQL;
(7)、怎么样查询数据库中表的值,即条件查询(注意:
Quotedstr()函数的使用):
cnn:
='select*fromsinfowheresid=200601001';//“sid”字段为数值型可以直接使用;
cnn:
='select*fromsinfowheresclass='+Quotedstr('高一一');//“sclass”字段为字符类型;
//多条件进行查询的例子
cnn:
='select*fromsinfowheresclass='+Quotedstr('高一一')+'andssex='+quotedstr('男');
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(cnn);
ADOQuery1.Open;
ADOQuery1.Active:
=true;
(8)、与SQLServer2000远程数据库相连接的办法:
//计算机进入界面的时候就可以进入,注意密码为“1”;数据库名称为“TEST”;IP地址为“127.0.0.1”,直接法:
cnstring:
='Provider=SQLOLEDB.1;Password=1;PersistSecurityInfo=True;UserID=sa;InitialCatalog=test;DataSource=127.0.0.1';
ADOQuery1.ConnectionString:
=cnstring;
方框法:
//计算机进入界面的时候就可以进入
cnstring:
='Provider=SQLOLEDB.1;Password='+Edit3.Text+';PersistSecurityInfo=True;UserID=sa;InitialCatalog='+Edit2.Text+';DataSource='+Edit1.Text;//127.0.0.1';
ADOQuery1.ConnectionString:
=cnstring;
(9)其它查询的例子和数据记录集的移动方法:
cnn:
='select*fromsinfowheresclass='+Quotedstr('高一一')+'andssex='+quotedstr('男');
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(cnn);
ADOQuery1.Open;
ADOQuery1.Active:
=true;
ifADOQuery1.RecordCount<>0then
begin
Application.MessageBox('您已经查询到了相关的记录!
','提示',64);
ADOQuery1.Active:
=true;
Edit1.Text:
=ADOQuery1.FieldValues['sname'];//取出它的值
end
else
begin
Application.MessageBox('您设有查询到了相关的记录,点击退出!
','提示',64);
close;
end;
ADOQuery1.Active:
=true;
ADOQuery1.Next;//下一条记录
Edit1.Text:
=ADOQuery1.FieldValues['sname'];//取出它的值
ADODataSet1.Next;//下一条
//ADODataSet1.Prior;//前一条
//ADODataSet1.First;//第一条
//ADODataSet1.Last;//最后一条
edit1.Text:
=ADODataSet1.FieldValues['姓名'];
(10)记录的数据值如何进行修改。
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select*fromsinfowheresclass='+Quotedstr('高一一'));
ADOQuery1.Open;
ADOQuery1.Active:
=true;
ifADOQuery1.RecordCount<>0then
begin
Application.MessageBox('您已经查询到了相关的记录!
','提示',64);
edit1.text:
=ADOQuery1.FieldValues['sname'];//取出它的值
//以下是对取得的值进行修改
ADOQuery1.Edit;//进入修改模式
ADOQuery1.FieldValues['sname']:
='廖裕10';//修改的数值
ADOQuery1.Post;//进行修改并写回数据库中去;
//ADOQuery1.Cancel;//不进行修改
//以下重新打开数据库并进行显示
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select*fromsinfowheresclass='+Quotedstr('高一一'));
ADOQuery1.Open;
ADOQuery1.Active:
=true;
end;
end;
(11)如何向数据库中追加记录的方法
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select*fromsinfowheresclass='+Quotedstr('高一一'));
ADOQuery1.Open;
ADOQuery1.Active:
=true;
Application.MessageBox('您已经查询到了相关的记录!
','提示',64);
edit1.text:
=ADOQuery1.FieldValues['sname'];//取出它的值
//以下是对取得的值进行修改
ADOQuery1.Edit;//进入修改模式
ADOQuery1.Append;//进行追加一条记录
ADOQuery1.FieldValues['sname']:
='廖裕30';//修改的数值
ADOQuery1.FieldValues['sid']:
='2010011';//修改的数值
ADOQuery1.Post;//进行修改并写回数据库中去;
//ADOQuery1.Cancel;//不进行修改
//以下重新打开数据库并进行显示
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select*fromsinfo');
ADOQuery1.Open;
ADOQuery1.Active:
=true;
DBGrid1.Refresh;
end;
(11)其它模糊查询的例子:
二、第二种方法:
1、界面设计和控件的设计:
2、“ADOConnection1”的部分属性设置:
(1)LoginPrompt:
False
(2)Provider:
SQLOLEDB
(3)其它的控件必须要进行关联。
3、“开始查询”代码:
ADOConnection1.ConnectionString:
='Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:
\test\data\cjzk.mdb;PersistSecurityInfo=False';
ADODataSet1.Close;
ADODataSet1.CommandText:
='select*fromsyk1';
ADODataSet1.Open;
ADODataSet1.Active:
=true;
edit1.Text:
=ADODataSet1.FieldValues['姓名'];//取出它的值
4、窗口退出代码:
ADODataSet1.Close;
5、取出字段的值:
edit1.Text:
=ADODataSet1.FieldValues['姓名'];//取出它的值
6、SQLServer2000连接方法,其它的方法完全一样:
ADOConnection1.ConnectionString:
='Provider=SQLOLEDB.1;Password=yuanli;PersistSecurityInfo=True;UserID=liyuan;InitialCatalog=pzhjyj;DataSource=218.89.107.206';
7、移动记录的访问:
ADODataSet1.Next;//下一条
//ADODataSet1.Prior;//前一条
//ADODataSet1.First;//第一条
//ADODataSet1.Last;//最后一条
edit1.Text:
=ADODataSet1.FieldValues['姓名'];
8、增加记录的方法:
ADODataSet1.Append
9、修改记录的值(第二种方法):
ADODataSet1.Edit;//进入修改模式
ADODataSet1.FieldValues['姓名']:
='zhang';
ADODataSet1.Post;//进行修改和更新
ADODataSet1.Active:
=False;
ADODataSet1.Active:
=True;
ShowMessage('操作成功!
');
10、删除当前记录的值:
ifnotADODataSet1.Eofthen
begin
Ifapplication.MessageBox('你删除该条记录吗?
','删除',MB_OKCANCEL)=1then
ADODataSet1.Delete;
end
else
showmessage('已经到达记录末尾');
11、关于对文本控件的显示:
请您使用IDE中的“DataContrle”中的“BDEdit”控件就可以了,但是要注意关联相关的数据源[ADODataSet1]。
12、关于Delphi7.0的帮助文件的调用方法: