
unit Unit1;
interface
uses
interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls, extctrlsinterfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogswindows,messages,sysutils,variants,classes,graphics,controls,
Dialogs, ADODB, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender:TObject);
procedure Button2Click(Sender:TObject);
procedure Button3Click(Sender:TObject);
private
FConnection: TADOConnection;
FDataSet: TADOQuery;
public
constructor Create(AOwner: TComponent);override;
destructor Destroy; override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses

ActiveX;
const
CONN_JETOLE_P = 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=%s;Persist Security Info=False;'+
'Jet OLEDB:DatabasePassword=%s';
//添加数据
procedure TForm1.Button1Click(Sender:TObject);
begin
select id from southidc_"&request("range")&"sort where viewflag and parentid=0会出现字段数不符报错,因为“select id from southidc_”查询的是一个字段,而下一句sql“select * from southidc_”查询的是多个字段,因此,无论我们怎么构造sql子句delphi access,都没办法使数组数相同delphi access,这里我们运用access的iif()函数来强制报错,当查询为真时,会出现字段数不符报错,查询为假时运用iif()函数强行报错爆出另外一个错误,就可以进行盲注判断了 a.学号 b.姓名 c.年龄 d.系号 42. 现要查找缺少成绩(grade)的学生学号(snum),相应的 sql 语句是( ) a.select snum from sc from sc where grade=0 c.select snum from sc where grade=null b.select snum where grade<=0举例:select * from student,拦截sql后重写为:select t.* from (select * from student)t limit 0,10
FDataSet.Open; //打开
FDataSet.Append;//开始添加数据
FDataSet.FieldByName('字段名1').Value :='值';
FDataSet.Post;//提交,使添加生效
end;
//修改数据
procedure TForm1.Button3Click(Sender:TObject);
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE条件';
FDataSet.Open; //打开
FDataSet.Edit;//开始修改数据
FDataSet.FieldByName('字段名1').Value :='值';
FDataSet.Post;//提交,使添加生效
end;
//删除数据
procedure TForm1.Button2Click(Sender:TObject);
![]()
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE条件';
FDataSet.Open; //打开
FDataSet.Delete;//删除当前数据
//也可用 SQL语句方式删除
FDataSet.SQL.Text := 'DELETE FROM [表名] WHERE条件';
FDataSet.ExecSQL; //执行 SQL语句
end;
constructor TForm1.Create(AOwner:TComponent);
begin
inherited;
FConnection :=TADOConnection.Create(nil);
FConnection.LoginPrompt := False;//不弹出口令对话框
FConnection.ConnectionString := Format(CONN_JETOLE_P, ['MDB文件名','密码,如果没有,则留空']);
FDataSet :=TADOQuery.Create(nil);
FDataSet.Connection :=FConnection;
end;
destructor TForm1.Destroy;
begin
FreeAndNil(FConnection);
FreeAndNil(FDataSet);
inherited;
end;
initialization
ActiveX.CoInitialize(nil);

finalization
ActiveX.CoUninitialize;
end.
1、采用ADO方式连接,直接文件连接,放入控件即可;
2、使用ADO后,可用相应的类完成SQL语句。
Query: TADOQuery;
Query:= TADOQuery.create(nil);
Query.Connection := adoConnect;
Query.SQL.Clear;
Query.SQL.Add('select * fromtab_judge');
try
Query.Open;
except
showmessage('打开错!');
Query.Free;
Exit;
end; //end of try
Query.First;
____________________________________________------------------------_________________________________________________
对数据的读写操作时针对adotable的操作
adoTable1.Append; //新增记录
adotable1.Edit;//修改当前记录指针记录
adotable1.Post;//提交新增以及设置的记录
adotable1.Cancel;//取消对记录的更改
adotable1.Delete; //删除记录

新增的举例:
adotable1.append; //append方式
adotable1.FieldValues['名字']:='张三';
adotable1.FieldValues['时间']:='2007-9-7';//注意字段类别
adotable1.FieldValues['地址']:='XX区XX路XX号';
adotable1.post;
方法小二:
adotable1.Insert;//这个要转换字符串比较麻烦
workgroupuserinfor.add(fieldbyname('skillgroup').asstring +'业务处理='+fieldbyname('skilllevel').asstring)strlist.add(fieldbyname('skillgroup').asstring+'业务处理='+fieldbyname('skilllevel').asstring)else if dbgrideh1.datasource.dataset.fieldbyname('xm').asstring = 'li ming' then
strlist.add(fieldbyname('skillgroup').asstring+'业务处理='+fieldbyname('skilllevel').asstring)else if dbgrideh1.datasource.dataset.fieldbyname('xm').asstring = 'li ming' thensendtoadd := trim(bmb.fieldbyname('s_emailaddress').asstring)
adotable1.Post;
dbgrid1.Refresh;
修改的举例:
adotable1.edit;
adotable1.FieldValues['名字']:='张三';
adotable1.FieldValues['时间']:='2007-9-7';//注意字段类别
adotable1.FieldValues['地址']:='XX区XX路XX号';
adotable1.post;
删除的示例
adotable1.delete;//注意删除的是记录指针位置的数据
获取数据:
通过移动记录指针,移动至合适的位置之后直接读取
procedure button1click(sender:object);
var
strAddress,strName:String;
dtDate:TDateTime;
begin
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-133257-1.html
你还骂人家