A. delphi数据库的增加,保存,删除
1、控件操作
一、增加数据:
adoquery1.append;
....相关数据...
adoquery1.updateBatch(arall);//数据保存
二、修改数据:
adoquery1.edit;
....相关数据...
adoquery1.updateBatch(arall);//数据保存
三、删除数据:
adoquery1.delete;
四、取消
adoquery1.cancel;
2、sql语句
插入的sql语句
sql:='insert
into
表名(字段1,字段2,...)
values
(值1,值2,...)';
更新的sql语句
sql:='update
表名
set
字段1=值1,字段2=值2
where
条件';
删除的sql语句
sql:='delete
表名
where
条件';
用ADOQuery1将命令发送到后台执行
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.ExecSQL;
B. DELPHI修改和删除数据库的数据的示例代码
修改
Table1.Edit;
Table1.FieldValues ['xxxxxxxx']:=edit1.Text;
Table1.Post;
删除
Table1.Delete;
删除ID为1的数据有两种方法:
1、遍历数据集,取ID值,如果等于1删除
while not table1.eof
begin
if table1.fieldbyname('id').value = 1 then
table1.delete;
table1.next;
end;
2、通过SQL语句来执行这个操作
query1.sql.text := 'delete from 表 where id = 1';
query1.execsql;
C. delphi 数据库连接 修改数据库中内容 求高手解答
用控件都可以解决。
ADOCONNECTION+ADOQUERY+datasource+dbgrid ,通过修改adoquery中的SQL语句,执行后就可以修改内容。连接好后,也可以在dbgrid中修改。
adoconnection+adotable+datasource+dbgrid ,全部连接好后,可以直接在DBGRID中修改。
修改好后加入代码:adoquery1.post 或adotable1.post 就保存成功。或用鼠标换行后自动保存.
D. delphi怎么修改access数据库里的内容
方法1:
用异常判断处理:
if trim(edit1.Text)='' then
begin
application.MessageBox('*****不能为空,请输入***','提示',mb_ok);
edit1.SetFocus;
exit;
end;
try
ADOQuery1.FieldByName('会员姓名').AsString:=trim(Edit1.text);
^^^^^^^
^^^^^^^^^^
ADOQuery1.Post;
begin
application.messagebox('该****记录已经成功添加入数据库!' ,'保存成功',mb_ok);
end;
except
begin
application.MessageBox('出现异常错误。无法增加记录!','出错提示',mb_ok);
ADOQuery1.CancelUpdates;
close;
end;
end;
方法2:
点"修改"时:
with ADOQuery1 do
begin
Edit;
FieldByName('会员姓名').AsString :=trim(edit1.Text);
^^^^^^^
^^^^^^^^^^
end;
当你选中某条记录的时候,ADOQUERY的指针是指向了某条记录的,你可以直接用adoquery.eidt命令进行修改的了,不用再去查询到你想要修改的记录,然后才去修改其他字段.
E. delphi中如何实现对sql数据库记录进行添加,删除,修改
使用ADO,首先用ADOConnection对象建立连接,然后使用ADOQuery对象对数据库进行操作。
ADOQuery对象操作:
查询:先使用close;再设置SQL.text为SQL查询语句内容;最后使用OPEN方法打开
添加:Append或Insert;FieldByName('字段名').Value
:=
字段内容;Post;
修改:Edit;FieldByName('字段名').Value
:=
字段内容;Post;
删除:定位到指定记录(使用循环);Delete;
F. DELPHI 怎样通过修改DBGRID中的数据去修改数据库
把DBGrid中的属性中有一个Options中
dsEdit
选True,记得不要选dsRowselect
这个选项为True,否则的话,dsEdit
即使选True,也是无用的。
G. Delphi对access或SQL数据库增删查改的操作
procere TEmpManageForm_frm.Button1Click(Sender: TObject);
var
EMPID:string;
begin
if edit1.Text='' then
begin
showmessage('请输入员工编号!');
exit;
end;
EMPID:=edit1.Text;
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('select 员工编号 from 员工信息 where 员工编号='''+EMPID+'''');
DataMod.ado2.Open;
if DataMod.ado2.RecordCount >=1 then
begin
showmessage('该员工编号已存在!');
exit;
end;
try
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('insert into 员工信息 ');
DataMod.ado2.SQL.add('(员工编号,姓名,生日,性别,手机,籍贯,电话,邮编,地址,身份证号,备注,密码) Values (');
DataMod.ado2.SQL.add(''''+edit1.Text+''',');
DataMod.ado2.SQL.add(''''+edit2.Text+''',');
DataMod.ado2.SQL.add(''''+datetostr(DateTimePicker1.DateTime)+''',');
DataMod.ado2.SQL.add(''''+edit4.Text+''',');
DataMod.ado2.SQL.add(''''+edit5.Text+''',');
DataMod.ado2.SQL.add(''''+edit6.Text+''',');
DataMod.ado2.SQL.add(''''+edit7.Text+''',');
DataMod.ado2.SQL.add(''''+edit8.Text+''',');
DataMod.ado2.SQL.add(''''+edit12.Text+''',');
DataMod.ado2.SQL.add(''''+edit11.Text+''',');
DataMod.ado2.SQL.add(''''+memo1.Text+''',');
DataMod.ado2.SQL.add(''''+edit9.Text+''')');
DataMod.ado2.ExecSQL;
Application.ProcessMessages;
showmessage('员工添加成功!');
DBGrid1.Refresh;
except
showmessage('添加员工时出现错误,请核对数据是否正确!');
end;
DBGrid1.Refresh;
Application.ProcessMessages;
DataMod.ado1.Close;
Application.ProcessMessages;
DataMod.ado1.SQL.Clear;
DataMod.ado1.SQL.add('select 员工编号,姓名,生日,性别,籍贯,地址,电话,手机,身份证号,邮编,备注 from 员工信息');
DataMod.ado1.Open;
Application.ProcessMessages;
DBGrid1.DataSource :=DataMod.DS1;
Application.ProcessMessages;
end;
//--------------------以上是添加操作----------------------//
//--------------------以下是删除操作----------------------//
procere TEmpManageForm_frm.Button3Click(Sender: TObject);
var
EMPID:string;
begin
if edit1.Text ='' then
begin
showmessage('请选择要删除的员工!');
exit;
end;
EMPID:=edit1.Text;
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('select 员工编号 from 员工信息 where 员工编号='''+EMPID+'''');
DataMod.ado2.Open;
if DataMod.ado2.RecordCount <=0 then
begin
showmessage('该员工编号不存在!');
exit;
end;
try
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('delete from 员工信息 where 员工编号='''+edit1.Text+'''');
DataMod.ado2.ExecSQL;
Application.ProcessMessages;
showmessage('员工删除成功!');
DBGrid1.Refresh;
DataMod.ado2.Close;
DataMod.ado2.SQL.Clear;
DataMod.ado2.SQL.add('delete from 员工权限 where 员工编号='''+edit1.Text+'''');
DataMod.ado2.ExecSQL;
except
showmessage('删除员工时出现错误,请核对数据是否正确!');
end;
DBGrid1.Refresh;
Application.ProcessMessages;
DataMod.ado1.Close;
Application.ProcessMessages;
DataMod.ado1.SQL.Clear;
DataMod.ado1.SQL.add('select 员工编号,姓名,生日,性别,籍贯,地址,电话,手机,身份证号,邮编,备注,解禁时间 from 员工信息');
DataMod.ado1.Open;
Application.ProcessMessages;
DBGrid1.DataSource :=DataMod.Ds1;
Application.ProcessMessages;
end;
H. delphi中如何修改已经查询到的数据
这要看你用的是什么数据库,比如select
case
number
when
1
then
"1#车厢"
end
from
tabXXXACCESS是不能执行这条SQL语句的。还不如select
编号+'#车厢'
AS
车厢号
I. DELPHI修改数据库的问题
很简单~~需要三个循环~一个循环嵌套另外两个~
1循环遍历
2循环遍历每个空区间的空值的个数
根据位置 计算 A
3循环给每个空区间的空值赋值
思路如下~
1 循环
先设置个变量表示游标位置 I
从第一个开始判断这条记录是不是空的
如果不空下一条
如果内容为空 进入第2个循环
游标 J记录位置
判断 I+1 这条记录是不是空的
如果是空的下一条直到不是空的
记录位置 J
2循环结束
根据位置计算 你说的 A值
3循环开始
给为空的位置赋值
赋值结束
3循环结束
1循环继续从有值的位置开始(这样比较块些)
也可以继续从I+1的位置继续1循环因为此时下面的空值已经赋值了~
直到刚才那个空区间结束的下个空区间又会进入2循环
你看可以吗?
J. delphi数据库修改功能问题如下
通过窗体传值实现,首先你记录下dbgrid表格里你要修改的数据行的编号或者唯一值,在form3里可以设一个全局变量或者直接用控件的属性值来记录这个值也行,例如我定义了一个全局变量str来记录传过来的这个编号
在form1的update控件的click()事件里这么写
form3.str:=form2.cxgrid.fieldsbyname('编号').asstring;
然后在form2的Onshow事件里可以写查询这个编号的数据
sql:='select*from表whereno='+str;
//接下来这里就继续写你的query过程
...
edtno.text:=query.fieldbyname('编号').asstring;
//剩下的就是你需要哪个字段的数据就类似这么写就行了