ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:22.69KB ,
资源ID:7553373      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7553373.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#读取数据库.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C#读取数据库.docx

1、C#读取数据库本文给大家介绍6种使用C#读取数据库所有表名称的方法。如果你需要这方面的操作,请看一下本文的介绍。第、sqldmoSQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式。在C#中使用SQLDMO需要添加SQLDMO的引用,然后在当前的文件中using SQLDMO;即可以使用SQLDMO。SQLDMO的对象模型大家可以在SQLServer的帮助中获得。 private void GetTabels_DMO(string strServerName,string strUser,string strPWD,string strDa

2、tabase) SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass(); /连接到服务器 Server.Connect(strServerName,strUser,strPWD); /对所有的数据库遍历,获得指定数据库 for(int i=0;iServer.Databases.Count;i+) /判断当前数据库是否是指定数据库 if(Server.Databases.Item(i+1,dbo).Name =strDatabase) /获得指定数据库 SQLDMO._Database db= Server.Databases.Item(i+

3、1,dbo); /获得指定数据库中的所有表 for(int j=0;jdb.Tables.Count;j+) MessageBox.Show(db.Tables.Item(j+1,dbo).Name); 第、adoxadox是ado Extensions for DDL and Security,是微软对ADO技术的扩展,使用它我们可以操作数据库的结构。它是一个COM组件,估计以后在ADO.NET中会增加ADOX的一些功能。如果大家需要ADOX的一些资料,我可以提供。下面的一个例子就是使用ADOX来获得当前数据库的所有表。 private void GetTables_ADOX() /ADO的

4、数据库连接 ADODB.ConnectionClass cn=new ADODB.ConnectionClass(); string ConnectionString=Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=Test;Data Source=HBXP; cn.Open(ConnectionString,sa,0); /操作ADOX的Catalog对象 CatalogClass cat=new CatalogClass(); cat.ActiveConnection=cn; for(int i=0;icat.Tab

5、les.Count;i+) MessageBox.Show(cat.Tablesi.Name); 注意:在上面的代码中cat.ActiveConnection不能是ADO.Net中的Connection,而应该是ADO的Connection。第、中的oledbconnection在c#中我们首先会考虑使用来解决问题,如果没有方法才会考虑使用adox或者sqldmo来解决这个问题。虽然adox和sqldmo也能够解决这个问题,但是他们毕竟是com组件,在.net中使用起来和在非.net平台会有一些差异,不是很顺手。下面的示例就显示了在中的oledbconnection的方法getoledbsch

6、ematable来获得数据库的架构。大家可以在msdn中看到这个方法的说明:public DataTable GetOleDbSchemaTable( Guid schema, object restrictions);参数schema OleDbSchemaGuid 的值之一,它指定要返回的架构表。 restrictions 限制值的 Object 数组。这些值按照限制列的顺序来应用。即,第一个限制值应用于第一个限制列,第二个限制值应用于第二个限制列,依此类推。 返回值包含请求的架构信息的 DataTable。更多的信息大家可以查询MSDN,下面将示例如何实现。 private void G

7、etTables_ADONET() /处理OleDbConnection string strConnectionString=Integrated Security=SSPI;Data Source=HBXP;Initial Catalog=Test;Provider=SQLOLEDB.1; OleDbConnection cn=new OleDbConnection(strConnectionString); cn.Open(); /利用OleDbConnection的GetOleDbSchemaTable来获得数据库的结构 DataTable dt = cn.GetOleDbSchema

8、Table(OleDbSchemaGuid.Tables,new object null, null, null, TABLE); foreach (DataRow dr in dt.Rows) MessageBox.Show(String)drTABLE_NAME); 文章来自学IT网:第、信息架构视图信息架构视图是sql-92 标准中定义的架构视图,这些视图独立于系统表。信息架构视图的最大优点是,即使我们对系统表进行了重要的修改,应用程序也可以正常地使用这些视图进行访问。下面的示例使用信息架构视图来工作。 private void GetTables_INFORMATION_SCHEMA(

9、) /打开连接 string strConnectionString=System.Configuration.ConfigurationSettings.AppSettingsConnectionString; sqlcn=new SqlConnection(strConnectionString); sqlcn.Open(); /使用信息架构视图 SqlCommand sqlcmd=new SqlCommand(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = BASE TABLE,sqlcn); Sql

10、DataReader dr=sqlcmd.ExecuteReader(); while(dr.Read() MessageBox.Show(dr.GetString(0); 第、使用系统表如果您的数据库系统是sqlserver,就可以使用如下的方式来获得当前数据库的所有表: private void GetTables_SystemTable() /打开连接 string strConnectionString=System.Configuration.ConfigurationSettings.AppSettingsConnectionString; sqlcn=new SqlConnect

11、ion(strConnectionString); sqlcn.Open(); /使用信息架构视图 SqlCommand sqlcmd=new SqlCommand(SELECT OBJECT_NAME (id) FROM sysobjects WHERE xtype = U AND OBJECTPROPERTY (id, IsMSShipped) = 0,sqlcn); SqlDataReader dr=sqlcmd.ExecuteReader(); while(dr.Read() MessageBox.Show(dr.GetString(0); 第6、使用sqlserver的存储过程“sp

12、_tables”下面是“盛国军”朋友提出的使用存储过程的方法的补充代码。 public void GetTables_StoredProcedure() /处理OleDbConnection string strConnectionString=Integrated Security=SSPI;Data Source=HBXP;Initial Catalog=Test;Provider=SQLOLEDB.1; OleDbConnection cn=new OleDbConnection(strConnectionString); cn.Open(); /执行存储过程 OleDbCommand

13、cmd=new OleDbCommand(sp_tables,cn); cmd.CommandType=CommandType.StoredProcedure; OleDbDataReader dr=cmd.ExecuteReader(); while(dr.Read() MessageBox.Show(drTABLE_NAME.ToString(); 文章来自学IT网:给你一个方法,自己去扩展: private void EventCellChanged(int column, int row) /自己想要的行与列数目 this.tableLayoutPanel1.Controls.Clea

14、r(); /row settings; this.tableLayoutPanel1.RowCount = row; this.tableLayoutPanel1.RowStyles.Clear(); for (int i = 0; i row; i+) this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent,100/row); /column settings; this.tableLayoutPanel1.ColumnCount = column; this.tableLayoutPanel1.ColumnSty

15、les.Clear(); for (int i = 0; i column; i+) this.tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent,100/column); for (int i = 0; i column; i+) for (int j = 0; j row; j+) label = new Label(); label.Text = /这里设置你需要显示的字符串; label.TextAlign = ContentAlignment.MiddleCenter; label.Anchor =

16、(AnchorStyles)(AnchorStyles.Left | AnchorStyles.Right); label.AutoSize = true; label.TextAlign = ContentAlignment.MiddleCenter; tableLayoutPanel1.Controls.Add(label, i, j); Excel表格是微软公司Office套件中专门用作电子表格处理的软件,在实际的办公中,Excel表格的用途是非常广的,由此许多办公人员喜欢以Excel表格的形式来存取数据。这就要求程序设计人员要掌握把已经得到数据集,转换成Excel表格中。那么作为.Ne

17、t程序开发语言中的一个重要组成部分的C是如何来实现这个过程的转换的,本文就来探讨一下这个问题。一、COM组件的转换:虽然C可以利用.Net框架中的类库.Net FrameWork SDK,这个内容丰富,功能强大的类库来实现很多功能。其实对于C来说,还有一个重要的资源,那就是已经拥有的COM组件,最大可能使用这些COM组件,往往会得到问题解决的最佳路径。说到这里,可能有读者会问,编译C所使用到的类库,都是受管代码(Managed Code),而COM是非受管代码(Unmanaged Code)的文件,这些COM组件难道可以被C直接使用么?这个问题问的非常好,其实这也是C中使用COM组件的关键问题

18、。就如问题中所讲的,编译C文件的时候,所使用的类库必须是受管代码(Managed Code)文件,所以要使用是非受管代码(Unmanaged Code)的文件的COM组件,必须实现从非受管代码文件到受管代码文件的转换。在.Net FrameWrok SDK中就专门为这种转换提供了一个工具“tlbimp.exe”。如果你安装.Net FrameWork SDK在“C”盘,那么你会在目录“C:Program FilesMicrosoft.NETFrameworkSDKBin”中发现他。同样我们知道Excel对象的COM组件名称为“EXCEL9.OLB”,如果你在“C”盘安装了Office套件,你可

19、以在目录“C:Program FilesMicrosoft OfficeOffice”中发现这个文件。在找到了上述的二个文件后,把这二个文件都拷贝到C盘的根目录下面后,只需要运行下列简单的命令就可以实现对此COM组件的转换了,具体的命令如下:tlbimp.exe Excel9.olb运行完此命令后,就可以在C盘的根目录下面发现多出来三个DLL文件,分别是“excel.dll”、“vbide.dll”和“office.dll”。这就是由此COM组件转换而成的类库文件。在编译下面介绍的程序的时候,将会用到此三个文件。二、本文中介绍的程序设计及运行环境(1).微软视窗2000 服务器版(2).Net

20、 Framework SDK Beta 2以上版本(3).Microsoft Data Access Component 2.6以上版本(MDAC2.6)(4).Office 2000套件三、本文介绍的数据库的数据字典:在下面程序中,采用的数据库类型是SQL Server 7.0。数据库服务器选用的是本地服务器,数据库名称为“temp”,数据表名称为“table01”,数据字典如下:字段名称字段类型字段长度姓名varchar10性别varchar10工作单位varchar50四、C实现从数据集到Excel表格的转变的主要步骤和实现方法:(1)连接数据库,得到数据集:实现这个过程相对比较简单,利

21、用下面这些代码就可以实现对数据库的连接和得到自己的数据集,在下面的代码中,都有相应的注释,具体如下: try / 建立数据连接,此字符串的意思是打开Sql server数据库,服务器名称为本/地,数据库为temp string strCon = Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = temp ; Data Source = Localhost ; OleDbConnection myConn = new OleDbConnection ( strCon )

22、 ; myConn.Open ( ) ; string strCom = SELECT * FROM table01 ; /创建一个 DataSet对象 DataSet myDataSet = new DataSet ( ) ; OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ; myCommand.Fill ( myDataSet , table01 ) ; /关闭此OleDbConnection myConn.Close ( ) ; catch ( Exception ey ) MessageBox

23、.Show ( 连接错误! + ey.ToString ( ) , 错误 ) ; DataTable table = myDataSet.Tables0; /得到数据集(2)创建一个空的Excel电子表格文档这就要使用到由COM组件转换成的三个DLL文件了,在这些文件中定义了一个类“Excel.Application”,C就是通过这个类来创建Excel电子表格文档的,下面是在C中创建Excel表格的具体实现代码: Excel.Application excel = new Excel.Application ( ) ; excel.Application.Workbooks.Add ( tru

24、e ) ;这样一个空的Excel表格就产生了。(3)读取数据的字段名称,并在产生的Excel表格的第一行显示出来为了在电子表格中显示的更明了,所以在定义字段名称的时候采用了中文,在“excel”对象中有一个属性“Cells”,此属性就是特指Excel表格中的每一个小的单元,你可以通过设定此属性的二个参数来访问创建的Excel表格中的每一个单元。下面就是实现此段功能的代码: int colIndex = 0 ; foreach ( DataColumn col in table.Columns ) colIndex+ ; excel.Cells 1 ,colIndex = col.ColumnN

25、ame ; (4).实现数据集到Excel表格的转换以Excel表格来显示数据集中的数据,所运用的知识和(3)中的基本相同,下面是实现此功能的程序代码: int rowIndex = 1 ; foreach ( DataRow row in table.Rows ) rowIndex+ ; colIndex = 0 ; foreach ( DataColumn col in table.Columns ) colIndex+ ; excel.Cells rowIndex , colIndex = row col.ColumnName .ToString ( ) ; 创建示例 Excel 工作表

26、启动 Microsoft Excel,然后创建一个新的工作表。 将以下信息添加到新工作表中以创建一个简单的 Excel 数据库:A B 1 FirstName LastName 2 Scott Bishop 3 Katie Jordan 注意:虽然在本示例中数据是从单元格 A1 开始的,但是您可以将此数据添加到工作表中的任何相邻接的单元格。 突出显示此数据所在的行和列。 在插入菜单上,指向名称,然后单击定义。 在“当前工作簿中的名称”文本框中,键入 myRange1,然后单击确定。 在文件菜单上,单击保存。在“保存位置”列表中,选择 Web 服务器的根目录(通常为 C:InetPubWwwro

27、ot)。在“文件名”文本框中,键入 ExcelData.xls。单击确定。 在文件菜单上,单击退出。返回页首使用 Visual C# .NET 创建 ASP.NET 示例此代码示例说明如何查询和显示 Excel 工作表中的信息。以下代码使用您在上一节中创建的工作表。 打开 Microsoft Visual Studio .NET。此时将显示 Visual Studio .NET 集成开发环境 (IDE)。 在文件菜单上,指向新建,然后单击项目。 在新建项目对话框的项目类型下面,单击 Visual C# 项目。在模板下面,单击 ASP.NET Web 应用程序。 在新建项目对话框中,找到名称和位置文本框。注意,名称

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1