(1)我在一个窗体上放了一个保存按钮;
(2)我点保存按钮后,弹出另一个信息输入窗体,这个窗体上有个OK按钮以及一些combobox,combobox里需要输入Pipe_Name,Comp_Name(假设就输入这个名字吧)。
(3关键!)我点OK按钮后,想把这些name保存在SMSQL2000相应的数据库表里,并且当存入每个名字时,自动生成一个和名字对应的ID,数据库表是这样定义的,例:
Pipe_ID int 4 缺省值 编号
Pipe_Name char 20 缺省值 名称
我的问题是:我现在用了一个数据模块连接,里面就放了个ADOConnection,已经和服务器连上了,我要用ADO连,接下来我需在数据模块里添加什么控件,进行什么操作,还有关键是的是,我这个存储过程的代码怎么编,2个按钮(保存和OK)下都需要添加什么代码。
总结:我要问的大致就是,我现在连上数据库还需要怎么做,加什么数据库控件,还有我就是要把combobox里输入的东西存到SQL2000的表里,要求自动生成ID(这个功能MS_SQL是自带的,我看比人用过,忘记了),代码怎么编。
PS:问题描述的应该清楚,大家看出我是个新手,希望不吝赐教,我会努力学习,谢谢!
(2)我点保存按钮后,弹出另一个信息输入窗体,这个窗体上有个OK按钮以及一些combobox,combobox里需要输入Pipe_Name,Comp_Name(假设就输入这个名字吧)。
(3关键!)我点OK按钮后,想把这些name保存在SMSQL2000相应的数据库表里,并且当存入每个名字时,自动生成一个和名字对应的ID,数据库表是这样定义的,例:
Pipe_ID int 4 缺省值 编号
Pipe_Name char 20 缺省值 名称
我的问题是:我现在用了一个数据模块连接,里面就放了个ADOConnection,已经和服务器连上了,我要用ADO连,接下来我需在数据模块里添加什么控件,进行什么操作,还有关键是的是,我这个存储过程的代码怎么编,2个按钮(保存和OK)下都需要添加什么代码。
总结:我要问的大致就是,我现在连上数据库还需要怎么做,加什么数据库控件,还有我就是要把combobox里输入的东西存到SQL2000的表里,要求自动生成ID(这个功能MS_SQL是自带的,我看比人用过,忘记了),代码怎么编。
PS:问题描述的应该清楚,大家看出我是个新手,希望不吝赐教,我会努力学习,谢谢!
解决方案 »
- delphi7用ADO动态链接数据库出现问题。
- 请教,能在LINUX下安装并使用DELPHI XE2吗?
- 请问高手,我在代码编辑器中按Ctrl+blank为什么不弹出选择部件及方法的下拉菜单呢?总是没有反映,请问这是怎么回事啊
- 关于ODBC API 的基础问题
- 救救我吧,现在我没分。。。日后定当涌泉相报!!谢谢
- 急!急!急!一个关于clientDataset主从表更新的老问题
- 对一条加密语句的修正
- left join 导致的dbgrid错误,请看内容,非常急,请指教!!!
- 求大本营2001上DELPHI升级ADO,ENTPRISEDE 包 SN/KEY!!
- 显示你才华的地方,来看看吧 !
- 创建窗体时提示'The window does not have scroll bars 错误怎么解决?
- 如何实现如ERP软件中的一对多表单实现(DBGrid单元可动态取数据库数据进行选择)
接下来就可以在TADOQuery控件写SQL语句了.
如果你用过SQL,那就没问题了
如果你不熟SQL,先看一看有关SQL的书,SQL的入门还是很简单的.
不明白为什么‘保存按钮后,弹出另一个信息输入窗体’,放在一个窗体不行吗?这么做,点保存只是弹出一窗体,还是同时保存了数据?
如下图示:
然后在TADOQuery里可以这样写SQL语句:假定声明ADO控件:Query:TADOQuery;
以下是用ADO控件保存数据的代码:
with Query do
begin
Close;
SQL.Clear;
SQL.Add('Insert 表名 (Pipe_ID,Pipe_Name) values');
SQL.Add(Format('%d,''%s''',[Pipe_ID值,Pipe_Name值])); //注意Pipe_ID值对应的是%d整数值,
// Pipe_Name值对应的是%s字符串,
//在这两个值传入之前你要先转换为对应数据类型
ExecSQL;
end;
按照你的方法,我是这么编的。
在OK按钮下的程序:
DataModule1.ADOQuery1.Open;
在ADOQuery1空间下的SQL属性里,我添加了下列代码:
with DataModule1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert Comp_Pipe_Name (Pipe_ID,Pipe_Name) values');
SQL.Add(Format('%d,''%s',[???,???]));
ExecSQL;
end;
因为我是想把,我输入到ComboBox里的值直接存到Comp_Pipe_Name这个表里,请问???处的程序怎么编,值怎么填写,我想让只输入Pipe_Name,Pipe_ID自动加1的,Comp_Pipe_Name控件和OK按钮在一个窗体上,感谢!
PS:我开始时???处随便写了2个值,"3"和"a",但是运行后,点OK按钮说,“with附近有语法错误”,不知道怎么回事。
谢谢!!!!!!!!!!!!!!!!!!!!
begin
Close;
SQL.Clear;
SQL.Add('Insert 表名 (Pipe_ID,Pipe_Name) values');
SQL.Add(Format('%d,''%s''',[Pipe_ID值,Pipe_Name值])); //注意Pipe_ID值对应的是%d整数值,
// Pipe_Name值对应的是%s字符串,
//在这两个值传入之前你要先转换为对应数据类型
ExecSQL;
end;
我在OK按钮下的程序:
DataModule1.ADOQuery1.Open;
在ADOQuery1空间下的SQL属性里,我添加了下列代码:
with DataModule1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert Comp_Pipe_Name (Pipe_ID,Pipe_Name) values');
SQL.Add(Format('%d,''%s',[???,???]));
ExecSQL;
end;
因为我是想把,我输入到ComboBox里的值直接存到Comp_Pipe_Name这个表里,请问???处的程序怎么编,值怎么填写,我想让只输入Pipe_Name,Pipe_ID自动加1的,Comp_Pipe_Name控件和OK按钮在一个窗体上,感谢!
PS:我开始时???处随便写了2个值,"3"和"a",但是运行后,点OK按钮说,“with附近有语法错误”,不知道怎么回事。
谢谢!!!!!!!!!!!!!!!!!!!!
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Clear;
DataModule1.ADOQuery1.SQL.Add('Insert into 表名(字段1,字段2...) values(值1,值2..)');//这里要into
DataModule1.ADOQuery1.ExecSQL;
换控件吧。DBComboBox,你直接输入,数据库里直接变。
加个DataSource就是了。
用ADO可以用DB—ComboBox这个控件吗,如果可以,那还真好!。我想输入DBComboBox,也就是Pipe_Name时,Pipe_ID跟着变,请问这里怎么处理呢??
谢谢!