
元接口部分引用 comobj 单元(uses )\x0d\procedure TForm1Button1Click(Sender: TObject);\x0d\\x0d\var excelx,excely : string;\x0d\ \x0d\begin\x0d\\x0d\ try\x0d\\x0d\ ExcelApp := CreateOleObject('ExcelApplication');\x0d\\x0d\ WorkBook := ExcelAppWorkBooksOpen(opendialogFileName);//使用opendialog对话框指定\x0d\//excel档路径\x0d\\x0d\ExcelAppVisible := false;\x0d\\x0d\ ExcelRowCount := WorkBookWorkSheets[1]UsedRangeRowsCount;\x0d\\x0d\ for i := 1 to excelrowcount + 1 do\x0d\\x0d\ begin\x0d\ \x0d\ excelx := excelappCells[i,1]Value;\x0d\\x0d\ excely := excelappCells[i,2]Value;\x0d\\x0d\ if ((excelappCells[i,1]Value = '') and (ExcelAppCells[i,2]Value = '')) then \x0d\//指定excel档的第 i 行 ,第 1,2(看情况而定)行如果为空就退出,这样的设定,最好是你的档案力这两行//对应数据库中不能为空的数据\x0d\\x0d\ exit\x0d\\x0d\ else\x0d\\x0d\ with query1 do\x0d\\x0d\ begin\x0d\\x0d\ close;\x0d\ sqlclear;\x0d\sqladd(insert into test(name,address) values(:name,:address));\x0d\parambyname('name')asstring := excelx;//excel档的第一列插入到test表的 name栏位;\x0d\parambyname('address')asstring := excely;//excel档的第二列插入到test表的 address 栏位;\x0d\execsql;\x0d\ \x0d\ end;\x0d\ \x0d\ end;\x0d\\x0d\ finally\x0d\\x0d\ WorkBookClose;\x0d\\x0d\ ExcelAppQuit;\x0d\\x0d\ ExcelApp := Unassigned;\x0d\\x0d\ WorkBook := Unassigned;\x0d\\x0d\ end;\x0d\\x0d\ end;\x0d\\x0d\上面的是导到sql 中的。oracle应该也差不多的吧。。
基本上“动态添加一个数据库字段”是数据库SQL本身的事,与Delphi关系不大。
ADOCommand1CommandText := 'alter table 表名 add 字段名1 varchar(12),字段名2 integer,字段3 datetime';
ADOCommand1Execute;
把ACCESS转成SQL数据库 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的; 二,转换的方法 1,打开”控制面板“下”管理工具“中的”数据库源“; 2,按”添加“添加一个新的数据源,在选择栏里选”Driver do microsoft Access (mdb)”,完成后将出现一个框, 在”数据库源“里面输入你想写的名称,我取名叫“ABC”,说明不需要填,接着,按下面的选择,寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定。 数据源在这里建好了,剩下转换了。 3,打开SQL2000企业管理器,进入数据库,新建一个空的数据库“ABC”; 4,选择新建立的数据库,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续; 5,在数据库源下拉但中选择”Driver do microsoft Access(mdb)“,在”用户/系统DSN“中,选种你刚才添加的”ABC“,按 ”下一步“; 6,“目的”不需要修改,选择服务器(一般下为自己的本机“local“,也可以选择服务器地址或者局域网地址,确定你的权限是否可以 *** 作,),“使用WINDOWS 身份验证“指用自己的系统管理员身份 *** 作,“使用SQL身份 *** 作验证“可以用于网站的 *** 作,推荐用后者; 7,选上“使用SQL身份 *** 作验证“后,填写你的用户名和密码,我自己选择的是系统默认号码“sa“,““,数据库选择刚新建的“ABC“,按“下一步“; 8,这一步的两个单项选择,“从数据源复制表和视图“与“用一条查询指令指定要传输的数据“,选择前者,按“下一步“继续; 9,这里将出现你自己ACCESS数据库的表,按“全选“后,下一步; 10,“DTS导入/导出向导“,看“立即运行“被选中按“下一步“, 11,按“完成“继续; 12,这个步骤你将看到你的数据被导入SQL2000里面,当出现“已经成功把XXX个表导入到数据库“的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的叉的话,说明该表没有成功导入,这时就要回去查看自己的 *** 作是否正确了
使用ADO,首先用ADOConnection对象建立连接,然后使用ADOQuery对象对数据库进行 *** 作。
ADOQuery对象 *** 作:
查询:先使用close;再设置SQLtext为SQL查询语句内容;最后使用OPEN方法打开
添加:Append或Insert;FieldByName('字段名')Value
:=
字段内容;Post;
修改:Edit;FieldByName('字段名')Value
:=
字段内容;Post;
删除:定位到指定记录(使用循环);Delete;
DBGridEh只是一个显示数据的界面, *** 作数据在它的下层:DATASET
如:ADO的ADOQUERY,ADOStoredProc之类的。
即:DBGridEh1DataSourceDataSet
以上就是关于delphi怎样实现excel导入到数据库全部的内容,包括:delphi怎样实现excel导入到数据库、delphi7 如何动态添加一个数据库字段、Delphi往数据库添加记录 要怎么写程序啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)