用DELPHI编,实现查询EXCEL表在数据库中的表是否存在,不存在则插入数据库表中,请DELPHI高手帮个忙
下面是一张EXCEL表格客户代码客户名称客户税号客户地址客户开户银行账号000001abc11111000dasgadsgs3241354325423000002dsf3...
下面是一张EXCEL表格
客户代码 客户名称 客户税号 客户地址 客户开户银行账号
000001 abc 11111000 dasgadsgs 3241354325423
000002 dsf 32413454 dasadgdsgf 2314341413143
。。。
下面是一个用SQL语句创建的表
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[客户基本资料表](
[系统编号] [int] IDENTITY(1,1) NOT NULL,
[单位级别代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[单位名称] [varchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[单位电话] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[所在省份代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[所在城市代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[邮政编码] [varchar](6) COLLATE Chinese_PRC_CI_AS NULL,
[通信地址] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[公司网址] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[公司类型代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[公司性质代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[所在行业代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[经营品牌] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[行业地位] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[其它描述] [text] COLLATE Chinese_PRC_CI_AS NULL,
[录入日期] [datetime] NOT NULL,
[录入人员代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[公司传真] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[月开票量] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[可能购买的产品] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[最后跟踪时间] [datetime] NULL,
[签约标志] [varchar](2) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_客户基本资料表] PRIMARY KEY CLUSTERED
(
[系统编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
CREATE TABLE [dbo].[税控导入资料](
[客户编码] [int] IDENTITY(1,1) NOT NULL,
[客户名称] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[客户地址电话] [varchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_税控导入资料] PRIMARY KEY CLUSTERED
(
[客户编码] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
请问如何根据上面两个用DELPHI设计一个程序实现下面的要求:
1、根据 excel表上的客户名称,判断一下 客户基本资料表中的单位名称是否存在,如果存在,那么就不做处理
2、如果不存在,那么,再根据客户名称,判断一下 税控导入资料中的 客户名称 是否存在
3、如果存在,则不做处理,如果不存在,那么将数据插入到 税控导入资料表中
我是一个初学者,刚学DELPHI不到一个月,老总就给了这个测试,希望大家能帮个忙,尽量能把步骤说清楚点,万分感谢 展开
客户代码 客户名称 客户税号 客户地址 客户开户银行账号
000001 abc 11111000 dasgadsgs 3241354325423
000002 dsf 32413454 dasadgdsgf 2314341413143
。。。
下面是一个用SQL语句创建的表
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[客户基本资料表](
[系统编号] [int] IDENTITY(1,1) NOT NULL,
[单位级别代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[单位名称] [varchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[单位电话] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[所在省份代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[所在城市代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[邮政编码] [varchar](6) COLLATE Chinese_PRC_CI_AS NULL,
[通信地址] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[公司网址] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[公司类型代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[公司性质代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[所在行业代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[经营品牌] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[行业地位] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[其它描述] [text] COLLATE Chinese_PRC_CI_AS NULL,
[录入日期] [datetime] NOT NULL,
[录入人员代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[公司传真] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[月开票量] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[可能购买的产品] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[最后跟踪时间] [datetime] NULL,
[签约标志] [varchar](2) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_客户基本资料表] PRIMARY KEY CLUSTERED
(
[系统编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
CREATE TABLE [dbo].[税控导入资料](
[客户编码] [int] IDENTITY(1,1) NOT NULL,
[客户名称] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[客户地址电话] [varchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_税控导入资料] PRIMARY KEY CLUSTERED
(
[客户编码] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
请问如何根据上面两个用DELPHI设计一个程序实现下面的要求:
1、根据 excel表上的客户名称,判断一下 客户基本资料表中的单位名称是否存在,如果存在,那么就不做处理
2、如果不存在,那么,再根据客户名称,判断一下 税控导入资料中的 客户名称 是否存在
3、如果存在,则不做处理,如果不存在,那么将数据插入到 税控导入资料表中
我是一个初学者,刚学DELPHI不到一个月,老总就给了这个测试,希望大家能帮个忙,尽量能把步骤说清楚点,万分感谢 展开
1个回答
展开全部
有两种方式
一种建立Excel的Com对象,通过对象属性控制,来读取Excel数据
这个网上有很多资料,复杂一些。
另一种是将Excel的工作簿当做一个数据表来操作,只要你会基本的数据库操作就OK
这里给你一个连接串
Const
ConnExcelStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.xls;Extended Properties=Excel 8.0;Persist Security Info=False';
这个连接串是用来连接“C:\1.xls”的
放一个ADOQuery到窗体上,在程序中把这个连接串赋值给它的Connectionstring属性
然后它就是你熟悉的数据库操作了
查询工作簿的语句(这里只写部分代码)
ADOQuery.SQL.Add('Select * from [Sheet1$]');//Sheet1是工作簿的名字 $不要忘记
ADOQuery.Open;
接下来你应该明白了吧。
注明:
Excel的格式第一行必须是字段名
一种建立Excel的Com对象,通过对象属性控制,来读取Excel数据
这个网上有很多资料,复杂一些。
另一种是将Excel的工作簿当做一个数据表来操作,只要你会基本的数据库操作就OK
这里给你一个连接串
Const
ConnExcelStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.xls;Extended Properties=Excel 8.0;Persist Security Info=False';
这个连接串是用来连接“C:\1.xls”的
放一个ADOQuery到窗体上,在程序中把这个连接串赋值给它的Connectionstring属性
然后它就是你熟悉的数据库操作了
查询工作簿的语句(这里只写部分代码)
ADOQuery.SQL.Add('Select * from [Sheet1$]');//Sheet1是工作簿的名字 $不要忘记
ADOQuery.Open;
接下来你应该明白了吧。
注明:
Excel的格式第一行必须是字段名
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询