楼上的兄弟:
会就解答呀!我只是不会用ado控件罢了!
会就解答呀!我只是不会用ado控件罢了!
解决方案 »
- 关于图片存入数据库和读取
- delphi 线程的执行过程(execute)中可否有多个同步(synchronize)的过程呢?谢谢
- 求反字体,急!
- 如何获得任务栏高度
- 请问怎样实现在一个Form里面同时画两个或更多的图象?bitblt或canvas均可!
- 如何获得局域网络中所有的SQL SERVER服务器名。
- 本人初学DELPHI:希望和各位讨论制作浏览器的若干问题,老原则入即给分。
- "题库系统与试卷生成系统”在编译时出错
- 小问题!80分呢!在线等候
- 关于多窗体之间的关系问题
- 怎样使用api生成windows标准打开文件夹(目录浏览窗口)窗口
- 超级菜问------怎么点击按钮出现一个txt文本~~~~~~
用sql语句。
照着书本只会Locate('cardno',seekvalue, [locaseinsensitive,loPartialKey]);(还不懂什么意思)。请大家帮忙
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' Insert Into Table1(Field1,Field2)')
SQL.Add(' Values(10,20)');
ExecSQL;
end;修改
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' Update Table1 Set Field1=20,Field2=30)')
ExecSQL;
end;删除
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' Delete From Table1')
SQL.Add(' Where Field1=20 and Field2=30');
ExecSQL;
end;查询
With ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' Select Field1,Field2 From Table1')
SQL.Add(' Where Field1=20 and Field2=30');
Open;
end;
是怎么回事呢??
放入ADOConnection1
设置其 ConnectionString
加入 ADOTable1
设置其 CONNECTION 为 ADOConnection1
设置 tablename 为你的数据库的一个表。
加入 DataSource1.dataset 为 ADotable1
加入 DBGrid1,DBNavigator1 设置其datasource 为 DataSource1
adotable1.active:=true;
看到了么?可以控制这个数据库的一个表了,增加,删除。更新
我用
procedure Tcheckm.upbtnClick(Sender: TObject);
begin
label6.caption:=datetimetostr(now);
ADOQuery1.insert;
adoquery1.fieldbyname('cardno').asstring :=copy(edit1.text,3,6);
adoquery1.fieldbyname('intime').asstring :=label6.caption;
adoquery1.post;
edit1.text:='';
end;
可是DBGRID不刷新,非要退出,再进才从DBGRID中发现
adoquery1.open;
ok
begin
Close;
SQL.Clear;
SQL.Add(' Delete * From Table1')/(select * from table1)
ExecSQL;
open;//要看结果显示
end;
procedure ReFreshAdoAuery(Ctrl : TadoQuery)
begin
Ctrl.cursortype = ctkeyset; //默认值
Ctrl.cursortype = ctdynamic; //数据集游标设为动态,即可刷新
Ctrl.cursortype = ctkeyset; //设回默认值
end;
procedure Tcheckm.upbtnClick(Sender: TObject);
begin
label6.caption:=datetimetostr(now);
ADOQuery1.insert;
adoquery1.fieldbyname('cardno').asstring :=copy(edit1.text,3,6);
adoquery1.fieldbyname('intime').asstring :=label6.caption;
adoquery1.post;
edit1.text:='';
end;
procedure Tcheckm.downbtnClick(Sender: TObject);
begin
label6.caption:=datetimetostr(now);
ADOQuery1.insert;
adoquery1.fieldbyname('cardno').asstring :=copy(edit1.text,3,6);
adoquery1.fieldbyname('outtime').asstring :=label6.caption;
adoquery1.post;
edit1.text:='';
end;
...
为何DBGRID不刷新。
rs.addnew()
rs.fields("ID")=11111
rs.fields("name")="名字"
rs.fields("ADDR")="**路**号"
rs.update()
具体的方法还有很多,可以查看MSDN
添加:
with ADOQuery1 do
append;
post;
删除:
with ADOQuery1 do
delete(选择删除的记录);
修改:
with ADOQuery1 do
edit;
。
post;
告诉你一个最实用的方法。
直接使用SQL语句进行添加、删除、查询。
很八十的
用reflush方法不行。
begin
close ;
Parameters.Clear;
ProcedureName:= 'select_one';
with Parameters.AddParameter do
begin
DataType := ftString;
Direction := pdInput;
name := '@tbdh';
value:=DataSource2.DataSet.Fields[0].asstring
end;
datasource3.DataSet:=ADOstoredproc3;
open;
end ;
不过dbgrid可以这样刷新,
dbgrid.rebind
写在哪个事件中