国美u7手机手机u7是正品机吗

博客访问: 4994102
博文数量: 915
博客积分: 10010
博客等级: 上将
技术积分: 5215
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
用Sql语句将SqlServer数据表中的数据导入到Access
发表于: 12:46:00--自己写SQL导入就是这样: --在SQL中操纵读取ACCESS数据库 SELECT&* FROM&OPENROWSET('Microsoft.Jet.OLEDB.4.0',& &&&'c:\test.mdb';'admin';'' &&&&&&&&,[表名]) SELECT&*& FROM&opendatasource(&'Microsoft.Jet.OLEDB.4.0', &&'Data&Source="c:\test.mdb";Jet&OLEDB:Database&Password=数据库密码')...[表名] /*--说明: c:\test.mdb&&&&&&&&&&&&&&&&是你要操作的ACCESS数据库名,如果不在SQL服务器上,需要设置文件所在的目录为完全共享,并将目录改为网络目录 表名&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&是你要操作和ACCESS数据库中的表名 数据库密码&&&&&&&&&&&&&&&&如果你的ACCESS数据库有密码,就要用第二种方式 其他部分不需要做任何变动 如果是导入数据到现有表,对应的在:&SELECT&* 前加上:&INSERT&INTO&表 语句 如果是导入数据并生成新表,对应的在:&SELECT&* 后加上:&INTO&表 语句 --*/----------------如果你的ACCESS数据库及表都没有建表,可以试试下面的这个存储过程 if&exists&(select&*&from&dbo.sysobjects&where&id&=&object_id(N'[dbo].[p_exporttb]')&and&OBJECTPROPERTY(id,&N'IsProcedure')&=&1) drop&procedure&[dbo].[p_exporttb] GO /*--数据导出Access &&&&&&&& &&&&&&&&导出数据库中的表到Access,可以同时导出指定的N个表 &&&&&&&&如果文件不存在,将自动创建文件 &&&&&&&&如果表存在,将覆盖现有的表 --邹建&2004.04--*/ /*--调用示例 &&&&&&&& &&&&&&&&nbsp--导出所有用户表 &&&&&&&&nbspp_exporttb&@s_tbname='',@path='c:\',@fname='test.mdb' &&&&&&&&nbsp--导出指定表 &&&&&&&&nbspp_exporttb&@s_tbname='syscolumns,sysobjects',@path='c:\',@fname='test.mdb' --*/ create&proc&p_exporttb @s_tbname&varchar(4000)='',&&&&&&&&&&&&&&&&nbsp--要导出的表名列表,用逗号分隔,如果不指定,导出所有表 @path&nvarchar(1000),&&&&&&&&&&&&&&&&&&&&&&&&nbsp--文件存放目录 @fname&nvarchar(250),&&&&&&&&&&&&&&&&&&&&&&&&nbsp--文件名 @password&varchar(20)='',&&&&&&&&&&&&&&&&nbsp--ACCESS数据库的密码 @s_user&sysname='',&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&nbsp--如果提示连接错误,则需要提供登陆sql服务器的用户名及密码 @s_password&varchar(50)='' as& set&nocount&on declare&@err&int,@src&nvarchar(255),@desc&nvarchar(255),@out&int declare&@obj&int,@constr&nvarchar(1000),@sql&varchar(8000),@fdlist&varchar(8000) --参数检测 if&isnull(@fname,'')=''&&&&&&&&nbspset&@fname='temp.mdb' --检查文件是否已经存在 if&right(@path,1)&&'\'&set&@path=@path+'\' create&table&#tb(a&bit,b&bit,c&bit) set&@sql=@path+@fname insert&into&#tb&exec&master..xp_fileexist&@sql --数据库创建 select&@sql=@path+@fname &&&&&&&&,@constr='Provider=Microsoft.Jet.OLEDB.4.0;Data&Source='+@sql &&&&&&&&&&&&&&&&+case&isnull(@password,'')&when&''&then&''& &&&&&&&&&&&&&&&&&&&&&&&&nbspelse&';Jet&OLEDB:Database&Password='+@password&end if&not&exists(select&1&from&#tb&where&a=1) begin &&&&&&&&nbspexec&@err=sp_oacreate&'ADOX.Catalog',@obj&out &&&&&&&&nbspif&@err&&0&goto&lberr &&&&&&&&nbspexec&@err=sp_oamethod&@obj,'Create',null,@constr &&&&&&&&nbspif&@err&&0&goto&lberr &&&&&&&&nbspexec&@err=sp_oadestroy&@obj &&&&&&&&nbspif&@err&&0&goto&lberr end --连接数据库 exec&@err=sp_oacreate&'adodb.connection',@obj&out if&@err&&0&goto&lberr exec&@err=sp_oamethod&@obj,'open',null,@constr if&@err&&0&goto&lberr --导出处理 declare&@tbname&sysname,@s&varchar(8000) set&@s=case&isnull(@s_tbname,'')&when&''&then&'' &&&&&&&&nbspelse&'&and&name&in('''+replace(@s_tbname,',',''',''')+''')'&end exec('declare&tb&cursor&global&for&select&name&from&sysobjects&where&xtype=''U'''+@s) open&tb fetch&next&from&tb&into&@tbname while&@@fetch_status=0 begin &&&&&&&&nbsp--删除现有的表 &&&&&&&&nbspset&@sql='drop&table&['+@tbname+']' &&&&&&&&nbspexec&@err=sp_oamethod&@obj,'execute',@out&out,@sql &&&&&&&&nbsp--if&@err&&0&goto&lberr &&&&&&&& &&&&&&&&nbsp--导入表 &&&&&&&&nbspif&isnull(@s_user,'')='' &&&&&&&&&&&&&&&&nbspset&@sql='SELECT&*&into&['+@tbname &&&&&&&&&&&&&&&&&&&&&&&&+']&FROM&[ODBC;Driver=SQL&SServer='+&@@servername &&&&&&&&&&&&&&&&&&&&&&&&+';database='+db_name()+'].['+@tbname+']' &&&&&&&&nbspelse &&&&&&&&&&&&&&&&nbspset&@sql='SELECT&*&into&['+@tbname &&&&&&&&&&&&&&&&&&&&&&&&+']&FROM&[ODBC;Driver=SQL&SServer='+&@@servername &&&&&&&&&&&&&&&&&&&&&&&&+';Uid='+@s_user+';Pwd='+isnull(@s_password,'') &&&&&&&&&&&&&&&&&&&&&&&&+';database='+db_name()+'].['+@tbname+']' &&&&&&&&&&&&&&&& &&&&&&&&nbspexec&@err=sp_oamethod&@obj,'execute',@out&out,@sql &&&&&&&&nbspif&@err&&0&goto&lberr &&&&&&&&nbspfetch&next&from&tb&into&@tbname end close&tb deallocate&tb --释放对象 exec&@err=sp_oadestroy&@obj return lberr: &&&&&&&&nbspexec&sp_oageterrorinfo&0,@src&out,@desc&out &&&&&&&&nbspif&@obj&&0&exec&@err=sp_oadestroy&@obj lbexit: &&&&&&&&nbspselect&cast(@err&as&varbinary(4))&as&错误号 &&&&&&&&&&&&&&&&,@src&as&错误源,@desc&as&错误描述 &&&&&&&&nbspselect&@sql,@constr,@fdlist go
阅读(2537) | 评论(1) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
赶快加入利海博客吧,在这里不仅可以写博客,还可以赚钱哦,并且在写博客赚钱的同时还可以交到更多的好朋友!
您可以免费使用利海网特有的客户端功能,实时查看好友给您的留言和对您发表文章的评论!和您的好友互动起来!还可以使用客户端中的邀请msn好友功能,邀请您的好友光临您的博客!
在07年一季度前积分达到2000点,利海网将奖励价值100元的利海钱包,可以在利海网商城选购您心仪的商品。赶快来加入利海博客吧,参与就是成功的开始!
利海博客,可以赚钱的博客,赶快过来看看!
/myfav/news/shownews.jsp?db=true&head=false&newsid=3055
如何让自己的博客点击量更高?/myfav/news/shownews.jsp?db=true&head=false&newsid=6428
怎样在个人博客中增加人气数?
/myfav/news/shownews.
请登录后评论。5864人阅读
数据库操作(120)
(一)建立立数据源
&&&&&& 打开控制面板下管理工具中的数据库源;按添加添加一个新的数据源,在选择栏里选完成后将出现一个框
在数据库源里面输入你想写的名称,我们在此建立的数据源名称为“导入”选择好数据库即可建立了
(二)导入
&&&&&&&&&&& 打开企业管理器,进入数据库,新建一个空的数据库;按鼠标右键,选择所有任务下导入数据,按下一步继续在数据库源下拉但中选择
按下一步;将导入到数据库中
目的不需要修改,选择服务器(一般下为自己的本机也可以选择服务器地址或者局域网地址确定你的权限是否可以操作使用身份验证指用自己的系统管理员身份操作使用身份操作验证可以用于网站的操作推荐用后者
选上使用身份操作验证后填写你的用户名和密码我自己选择的是系统默认号码数据库选择刚新建的按下一步
&&&& 这一步的两个单项选择从数据源复制表和视图与用一条查询指令指定要传输的数据选择前者按下一步继续
这里将出现你自己数据库的表按全选或自己希望导入的表后下一步
导入导出向导看立即运行被选中按下一步
按下一步继续
“完成”当出现已经成功把个表导入到数据库的字样而且所有的表前面都有绿色的勾就表示成功导入所有数据如果中途出现问题或者表前面有红色的叉的话说明该表没有成功导入这时就要回去查看自己的操作是否正确了
数据修改重要
由于里面没有自动编号所以你的以自动编号设置的字段都会变成非空的字段这就必须手工修改这些字段并把他的标示选择是种子为增量为另外转换成后原来属性为是否的字段将被转换成非空的这时候你必须修改成自己想要的属性了
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:275561次
积分:4572
积分:4572
排名:第6219名
原创:179篇
转载:65篇
(1)(1)(2)(14)(1)(7)(20)(29)(26)(16)(29)(23)(6)(46)(24)2011年 总版技术专家分年内排行榜第四2010年 总版技术专家分年内排行榜第九2009年 总版技术专家分年内排行榜第八
2011年10月 总版技术专家分月排行榜第一
2014年1月 总版技术专家分月排行榜第二2013年12月 总版技术专家分月排行榜第二
2016年10月优秀小版主
2014年1月 总版技术专家分月排行榜第二2013年12月 总版技术专家分月排行榜第二
2016年10月优秀小版主
2014年1月 总版技术专家分月排行榜第二2013年12月 总版技术专家分月排行榜第二
2016年10月优秀小版主
2014年1月 总版技术专家分月排行榜第二2013年12月 总版技术专家分月排行榜第二
2016年10月优秀小版主
本帖子已过去太久远了,不再提供回复功能。君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
如何将access中的数据导入到SQLserver中
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口西西软件园多重安全检测下载网站、值得信赖的软件下载站!
→ SQL server2008、ACCESS 2007、ORACLE的EXCEL2007导入、导出具体实现
V2.32正式版
类型:数据库类大小:40.7M语言:中文 评分:6.6
DataPie功能:可以实现SQL server2008、ACCESS 2007、ORACLE的EXCEL2007导入、导出以及存储过程运算。源码及安装包下载地址:/本篇文章,主要介绍下DataPie中多数据库导入导出功能的实现,以及获取不同数据库架构信息的一些方法。1.IDBUtility接口。主要包含导入、导出、基本SQL操作方法的定义。具体方法的用途看其名称基本可以知道。using Susing System.Dusing System.Cusing System.Collections.Gnamespace DataPie.DBUtility{&&& public interface IDBUtility&&& {&&&&&&& #region 执行SQL操作&&&&& &&&&&&&&&&&&&&& /// &summary&&&&&&&& /// 运行SQL语句&&&&&&& /// &/summary&&&&&&&& /// &param name=&SQL&&&/param&&&&&&&& int ExecuteSql(string SQL);&& &&&&&#endregion&&&&&&& #region 返回DataTable对象&&&&&&& /// &summary&&&&&&&& /// 运行SQL语句,返回DataTable对象&&&&&&& /// &/summary&&&&&&&& DataTable ReturnDataTable(string SQL, int StartIndex, int PageSize);&&&&&&& /// &summary&&&&&&&& /// 运行SQL语句,返回DataTable对象&&&&&&& /// &/summary&&&&&&&& DataTable ReturnDataTable(string SQL);&&&&&&& #endregion&&&&&&& #region 存储过程操作&&&&&&& int RunProcedure(string storedProcName);&&&&&&& #endregion&&&&&&& #region 获取数据库Schema信息&&&&&&& /// &summary&&&&&&&& /// 获取SQL SERVER中数据库列表&&&&&&& /// &/summary&&&&&&&& IList&string& GetDataBaseInfo();&&&&&&& IList&string& GetTableInfo();&&&&&&& IList&string& GetColumnInfo(string TableName);&&&&&&& IList&string& GetProcInfo();&&& &&&&IList&string& GetViewInfo();&&&&&&& int ReturnTbCount(string tb_name);&&&&&&& #endregion&&&&&&& #region 批量导入数据库&&&&&&& /// &summary&&&&&&&& /// 批量导入数据库&&&&&&& /// &/summary&&&&&&&& bool SqlBulkCopyImport(IList&string& maplist, string TableName, DataTable dt);&&&&&&& #endregion&&& }}2.SQL SERVER数据库对该接口的具体实现方法&&&&&&& /// &summary&&&&&&&& /// 运行SQL语句,返回DataTable对象&&&&&&& /// &/summary&&&&&&&& public DataTable ReturnDataTable(string SQL)&&&&&&& {&&&&&&&&&&& using (SqlConnection connection = new SqlConnection(connectionString))&&&&&&&&&&& {&&&&&&&&&&&&&&& DataTable dt = new DataTable();&&&&&&&&&&&&&&& try&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& connection.Open();&&&&&&&&&&&&&&&&&&& SqlDataAdapter command = new SqlDataAdapter(SQL, connection);&&&&&&&&&&&&&&&&&&& command.Fill(dt);&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& catch (System.Data.SqlClient.SqlException ex)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& throw new Exception(ex.Message);&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&& }&&&&&&& /// &summary&&&&&&&& /// 运行SQL语句,返回DataTable对象&&&&&&& /// &/summary&&&&&&&& public DataTable ReturnDataTable(string SQL, int StartIndex, int PageSize)&&&&&&& {&&&&&&&&&&& using (SqlConnection connection = new SqlConnection(connectionString))&&&&&&&&&&& {&&&&&&&&&&&&&&& DataTable dt = new DataTable();&&&&&&&&&&&&&&& try&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& connection.Open();&&&&&&&&&&&&&&&&&&& SqlDataAdapter command = new SqlDataAdapter(SQL, connection);&&&&&&&&&&&&&&&&&&& command.Fill(StartIndex, PageSize, dt);&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& catch (System.Data.SqlClient.SqlException ex)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& throw new Exception(ex.Message);&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&& }//&返回制定表名的行数&&&&&&&& public int ReturnTbCount(string tb_name)&&&&&&& {&&&&&&&&&&& using (SqlConnection connection = new SqlConnection(connectionString))&&&&&&&&&&& {&&&&&&&&&&&&&&& try&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& string SQL = &select& count(*)&& from & + tb_&&&&&&&&&&&&&&&&&&& connection.Open();&&&&&&&&&&&&&&&&&&& SqlCommand cmd = new SqlCommand(SQL, connection);&&&&&&&&&&&&&&&&&&& int count = int.Parse(cmd.ExecuteScalar().ToString());&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& catch (System.Data.SqlClient.SqlException ex)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& throw new Exception(ex.Message);&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&& }#region 架构信息&&&&&&& /// &summary&&&&&&&& /// 根据条件,返回架构信息 &&&&&&& /// &/summary&&&&&&&& /// &param name=&collectionName&&集合名称&/param&&&&&&&& /// &param name=&restictionValues&&约束条件&/param&&&&&&&& /// &returns&DataTable&/returns&&&&&&&& public static DataTable GetSchema(string collectionName, string[] restictionValues)&&&&&&& {&&&&&&&&&&& using (SqlConnection connection = new SqlConnection(connectionString))&&&&&&&&&&& {&&&&&&&&&&&&&&& DataTable dt = new DataTable();&&&&&&&&&&&&&&& try&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& dt.Clear();&&&&&&&&& &&&&&&&&&&connection.Open();&&&&&&&&&&&&&&&&&&& dt = connection.GetSchema(collectionName, restictionValues);&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& catch&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& dt =&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&& }&&&&&&& /// &summary&&&&&&&& /// 返回指定名称的架构信息 &&&&&&& /// &/summary&&&&&&&& /// &param name=&collectionName&&集合名称&/param&&&&&&&& /// &returns&DataTable&/returns&&&&&&&& public static DataTable GetSchema(string collectionName)&&&&&&& {&&&&&&&&&&& using (SqlConnection connection = new SqlConnection(connectionString))&&&&&&&&&&& {&&&&&&&&&&&&&&& DataTable dt = new DataTable();&&&&&&&&&&&&&&& try&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& dt.Clear();&&&&&&&&&&&&&&&&&&& connection.Open();&&&&&&&&&&&&&&&&&&& dt = connection.GetSchema(collectionName);&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& catch&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& dt =&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&& }&&&&&&& public IList&string& GetDataBaseInfo()&&&&&&& {&&&&&&&&&&& IList&string& DatabaseList = new List&string&();&&&&&&&&&&& DataTable dt = GetSchema(&Databases&);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& DatabaseList.Add(_DataRowItem[&database_name&].ToString());&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&&&&&& return DatabaseL&&&&&&& }&&&&&&& public IList&string& GetTableInfo()&&&&&&& {&&&&&&&&&&& IList&string& tableList = new List&string&();&&&&&&&&&&& string[] rs = new string[] { null, null, null, &BASE TABLE& };&&&&&&&&&&& DataTable dt = GetSchema(&tables&, rs);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& tableList.Add(_DataRowItem[&table_name&].ToString());&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&&&&&& return tableL&&&&&&& }&&&&&&& public IList&string& GetColumnInfo(string TableName)&&&&&&& {&&&&&&&&&&& string[] restrictions = new string[] { null, null, TableName };&&&&&&&&&&& DataTable tableinfo = GetSchema(&Columns&, restrictions);&&&&&&&&&&& IList&string& List = new List&string&();&&&&&&&&&&& int count = tableinfo.Rows.C&&&&&&&&&&& if (count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& //for (int i = 0; i & i++)&&&&&&&&&&&&&&& //{&&&&&&&&&&&&&&& //&&& List.Add(tableinfo.Rows[i][&Column_Name&].ToString()); &&&& &&&&&&&&&&&//}&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in tableinfo.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& List.Add(_DataRowItem[&Column_Name&].ToString());&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&&&&&& return L&&&&&&& }&&&&&&& public IList&string& GetProcInfo()&&&&&&& {&&&&&&&&&&& IList&string& List = new List&string&();&&&&&&&&&&& DataTable dt = GetSchema(&Procedures&);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt != null && dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& if (_DataRowItem[&routine_type&].ToString().ToUpper() != &FUNCTION&)&&&&&&&&&&&&&&&&&&& { List.Add(_DataRowItem[&routine_name&].ToString()); }&&&&&&&&&&&&&& &}&&&&&&&&&&& }&&&&&&&&&&& return L&&&&&&& }&&&&&&& public IList&string& GetFunctionInfo()&&&&&&& {&&&&&&&&&&& IList&string& List = new List&string&();&&&&&&&&&&& DataTable dt = GetSchema(&Procedures&);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt != null && dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& if (_DataRowItem[&routine_type&].ToString().ToUpper() == &FUNCTION&)&&&&&&&&&&&&&&&&&&& { List.Add(_DataRowItem[&routine_name&].ToString()); }&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&&&&&& return L&&&&&&& }&&&&&&& public IList&string& GetViewInfo()&&&&&&& {&&&&&&&&&&& IList&string& List = new List&string&();&&&&&&&&&&& string[] rs = new string[] { null, null, null, &BASE TABLE& };&&&&&&&&&&& DataTable dt = GetSchema(&views&);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {& &&&&&&&&&&&&&&&&&&List.Add(_DataRowItem[&table_name&].ToString());&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&&&&&& return L&&&&&&& }&&&&&&& #endregion&&&&&&& public bool SqlBulkCopyImport(IList&string& maplist, string TableName, DataTable dt)&&&&&&& {&&&&&&&&&&& using (SqlConnection connection = new SqlConnection(connectionString))&&&&&&&&&&& {&&&&&&&&&&&&&&& connection.Open();&&&&&&&&&&&&&&& using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& bulkCopy.DestinationTableName = TableN&&&&&&&&&&&&&&&&&&& foreach (string a in maplist)&&&&&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&& bulkCopy.ColumnMappings.Add(a, a);&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&& try&&&&&&&&&&&&&&& &&&&{&&&&&&&&&&&&&&&&&&&&&&& bulkCopy.WriteToServer(dt);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&& catch (Exception e)&&&&&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&& }3.ACCESS2007数据库对该接口的具体实现方法其中大部分的方法实现基本相似。但ACCEE2007本身不支持存储过程,但支持单个插入、删除、更新等语句,在联合查询(union)中,往往默认进入了存储过程架构下,所以导致ACCESS在实现IDBUtility接口时,需要进行一些特殊的处理。其中,本工具把删除和更新操作默认为存储过程,对查询和联合查询定义为视图。具体实现的代码如下:&&&&&&& public bool IF_Proc(string sql)&&&&&&& {&&&&&&&&&&& if (sql.ToUpper().Contains(&DELETE&) || sql.ToUpper().Contains(&UPDATE&))&&&&&&&&&&&&&&&&&&&&&&&&&& else if (sql.ToUpper().Contains(&SELECT&) && sql.ToUpper().Contains(&INTO&))&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&& public IList&string& GetProcInfo()&&&&&&& {&&&&&&&&&&& IList&string& List = new List&string&();&&&& &&&&&&&DataTable dt = GetSchema(&Procedures&);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt != null && dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& if (IF_Proc(_DataRowItem[&PROCEDURE_DEFINITION&].ToString()))&&&&&&&&&&&&&&&&&&& { &&&&&&&&&&&&&&&&&&&&&&& List.Add(_DataRowItem[&PROCEDURE_NAME&].ToString());&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&&&&&& return L&&&&&&& }&&&&&&& public IList&string& GetFunctionInfo()&&&&&&& {&&&&&&&&&&& IList&string& List = new List&string&();&&&&&&&&&&& DataTable dt = GetSchema(&Procedures&);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt != null && dt.Rows.Count & 0)&&&&&&&&&&& {& &&&&&&&&&&&&&&foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& if (_DataRowItem[&PROCEDURE_TYPE&].ToString().ToUpper() == &FUNCTION&)&&&&&&&&&&&&&&&&&&& { List.Add(_DataRowItem[&PROCEDURE_NAME&].ToString()); }&&&&&&&&&&&& &&&}&&&&&&&&&&& }&&&&&&&&&&& return L&&&&&&& }&&&&&&& public IList&string& GetViewInfo()&&&&&&& {&&&&&&&&&&& IList&string& List = new List&string&();&&&&&&&&&&& string[] rs = new string[] { null, null, null, &BASE TABLE& };&&&&&&&&&&& DataTable dt = GetSchema(&views&);&&&&&&&&&&& int num = dt.Rows.C&&&&&&&&&&& if (dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& List.Add(_DataRowItem[&table_name&].ToString());&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&&&&&& //添加被架构默认为存储过程的视图&&&&&&&&&&& dt = GetSchema(&Procedures&);&&&&&&&&&&& num = dt.Rows.C&&&&&&&&&&& if (dt != null && dt.Rows.Count & 0)&&&&&&&&&&& {&&&&&&&&&&&&&&& foreach (DataRow _DataRowItem in dt.Rows)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& if (!IF_Proc(_DataRowItem[&PROCEDURE_DEFINITION&].ToString()))&&&&&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&& List.Add(_DataRowItem[&PROCEDURE_NAME&].ToString());&&&&&&&&&&&&&&&&&&& }&& &&&&&&&&&&&&&}&&&&&&&&&&& }&&&&&&&&&&& return L&&&&&&& }&&&&&&& public int ReturnTbCount(string tb_name)&&&&&&& {&&&&&&&&&&& using (OleDbConnection connection = new OleDbConnection(connectionString))&&&&&&&&&&& {&&&&&&&&&&&&&&& try&&&&&&& &&&&&&&&{&&&&&&&&&&&&&&&&&&& string SQL = &select& count(*)&& from & + tb_&&&&&&&&&&&&&&&&&&& connection.Open();&&&&&&&&&&&&&&&&&&& OleDbCommand cmd = new OleDbCommand(SQL, connection);&&&&&&&&&&&&&&&&&&& int count = int.Parse(cmd.ExecuteScalar().ToString());&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&& catch (System.Data.SqlClient.SqlException ex)&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& throw new Exception(ex.Message);&&&&&&&&&&&&&&& }&&&&&&&&&&& }&&&&&&& }&&&&&&& #endregion//批量插入数据方法的实现&&&&&&& public bool SqlBulkCopyImport(IList&string& maplist, string TableName, DataTable dt)&&&&&&& {&&&&&&&&&&& try&&&&&&&&&&& {&&&&&&&&&&&&&&& using (OleDbConnection connection = new OleDbConnection(connectionString))&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& connection.Open();&&&&&&&&&&&&&&&&&&& OleDbDataAdapter adapter = new OleDbDataAdapter(&select * from & + TableName + && where 1=0&, connection);&&&&&&&&&&&&&&&&&&& OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);&&&&&&&&&&&&&&&&&&& int rowcount = dt.Rows.C&&&&&&&&&&&&&&&&&&& for (int n = 0; n & n++)&&&&&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&& dt.Rows[n].SetAdded();&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&& //adapter.UpdateBatchSize = 1000;&&&&&&&&&&&&&&&&&&& adapter.Update(dt);&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&& catch (Exception e)&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&&&&& } &&&&&&& }4.ORACEL数据库对该接口的具体实现方法ORACLE数据库查询数据库schema的信息,用的是ORACEL自带的Oracle.DataAccess.Client库,其中有一些架构信息与微软在.Net2.0中提供的方法不一致。具体的实现,可以参见源码,在此不列出了。
03-1710-2005-0701-2501-0809-0907-0706-1605-0804-24
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载

我要回帖

更多关于 国美u7手机怎么样 的文章

 

随机推荐