您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C#编写数据库连接测试事例
C#实现数据库测试1.实现sqlserver2000的数据读取如图所示:可以通过连接数据库sql-选择数据库-选择表来完成;#region连¢?接¨®数ºy据Y库aprivatevoidbutton1_Click(objectsender,EventArgse){initdb(textBox1.Text,textBox2.Text.ToString(),0);}#endregion#region读取选择的数据库,将数据库中包含的表加入到listbox2中privatevoidlistBox1_DoubleClick(objectsender,EventArgse){strings=;s=listBox1.SelectedItem.ToString();initdb(textBox1.Text,s,0);}#endregion#region读取某表的内容privatevoidlistBox2_DoubleClick(objectsender,EventArgse){strings=;strings1=;s=listBox1.SelectedItem.ToString();s1=listBox2.SelectedItem.ToString();stringretstr=open_table(textBox1.Text,s,s1,);open_table(textBox1.Text,s,s1,retstr);}#endregion其中initdb函数如下:#region初始化sql,连接ip地址,也可以用于读取某数据库有多少个数据表initdb//ifdbnameisnull,thenreturnsystem_db_name//elseconnectdqlname(ip),connectdbnamereturntablenameofdbnamepublicboolinitdb(stringsqlname/*sqlserverip*/,stringdbname/*databasename*/,intbz){//如果数据库名称为空,返回数据库的所有名称;if(dbname==){connectstring=server='+sqlname+';database=master;uid=sa;pwd='';commandstring=selectnamefromsysdatabases;try{stringyg_code=1;//这里是定义了一个参数数组,不过里面就一条参数SqlParameter[]parameters={newSqlParameter(@yh_code,yg_code)};//这个SqlDataAdapter很强大,与数据库的交互就靠它来实现的//在初始化时把sqlCommand,connString传入设计好的构造器SqlDataAdapterAdapter=newSqlDataAdapter(commandstring,connectstring);//将参数加入到Adapter中Adapter.SelectCommand.Parameters.AddRange(parameters);//这句话就是集执行查询和保存功能于一体的核心语句了//简单来说就是执行了sqlCommand里的查询语句,并且把结果以表的形式存在了ds里面ds.Clear();dt.Clear();Adapter.Fill(ds);//把ds表集合里的第一个表复制给dtdt=ds.Tables[0];//dr.Close();//关闭执行//con.Close();//关闭数据库intcount=dt.Columns.Count;//一条记录包含的列数;introws=dt.Rows.Count;//记录个数Console.WriteLine(查找到记录个数:{0},每条记录有{1}个字段,rows,count);recordstrumyrec=newrecordstru(1000);//stringtmp=;inti=0;while(i++rows){listBox1.Items.Add(dt.Rows[i][0].ToString());}}catch(Exceptionex){Console.WriteLine(ex.Message);}}else{connectstring=server='+sqlname+';database='+dbname+';uid=sa;pwd='';if(bz==0)commandstring=SELECT*FROMsysobjectsWHERE(xtype='U');elsecommandstring=dbname;try{stringyg_code=1;//这里是定义了一个参数数组,不过里面就一条参数SqlParameter[]parameters={newSqlParameter(@yh_code,yg_code)};//这个SqlDataAdapter很强大,与数据库的交互就靠它来实现的//在初始化时把sqlCommand,connString传入设计好的构造器SqlDataAdapterAdapter=newSqlDataAdapter(commandstring,connectstring);//将参数加入到Adapter中Adapter.SelectCommand.Parameters.AddRange(parameters);//这句话就是集执行查询和保存功能于一体的核心语句了//简单来说就是执行了sqlCommand里的查询语句,并且把结果以表的形式存在了ds里面ds.Clear();dt.Clear();Adapter.Fill(ds);//把ds表集合里的第一个表复制给dtdt=ds.Tables[0];//dr.Close();//关闭执行//con.Close();//关闭数据库intcount=dt.Columns.Count;//一条记录包含的列数;introws=dt.Rows.Count;//记录个数Console.WriteLine(查找到记录个数:{0},每条记录有{1}个字段,rows,count);recordstrumyrec=newrecordstru(1000);stringtmp=;inti=0;listBox2.Items.Clear();while(i++rows){tmp=;listBox2.Items.Add(dt.Rows[i][0].ToString());//Console.WriteLine(dt.Rows[i][0].ToString());}}catch(Exceptionex){}}returnfalse;}#endregion2.实现access数据库的读写#region读取access数据库privatevoidbutton2_Click(objectsender,EventArgse){try{stringmypath=Application.StartupPath+\\mydata.accdb;//连接数据库的路径及数据库名if(!File.Exists(mypath))//判断文件是否存在{MessageBox.Show(mypath+文件未找到!);return;}else{Console.WriteLine(mypath);stringconstr=Provider=Microsoft.ACE.OLEDB.12.0;DataSource=+mypath;//生成连接数据库字符串OleDbConnectionmycon=newOleDbConnection(constr);//定义OleDbConnection对象实例并连接数据库stringmysql=select*frommytable;//Sql查询语句OleDbDataAdaptermyada=newOleDbDataAdapter(mysql,mycon);//定义OleDbDataAdapter对象实例并连接数据库表DataSetmyds=newDataSet();//定义DataSet对象实例myada.Fill(myds);//填充数据集dataGridView1.DataSource=myds.Tables[0].DefaultView;//连接数据表格,显示数据mycon.Close();//关闭OleDbConnection对象实例mycon.Dispose();//释放OleDbConnection对象实例所占资源空间}}catch{return;}}#endregion3.实现sqllite的读写;#region连接sqllite数据库privatevoidbutton3_Click(objectsender,EventArgse){DisplayImagesimageform=newDisplayImages();imageform.StartPosition=FormStartPosition.CenterScreen;imageform.Show();}#endregion4.将数据库内容导出为excel#region导出excelprivatevoidbutton5_Click(objectsender,EventArgse){stringfilename=;stringsavefilename=;SaveFileDialogsavedig=newSaveFileDialog();savedig.DefaultExt=xlsx;savedig.Filter=Excel文件|*.xlsx;savedig.FileName=filename;savedig.ShowDialog();savefilename=savedig.FileName;if(savefilename.IndexOf(:)0)return;Microsoft.Office.Interop.Excel.ApplicationxlApp=newMicrosoft.Office.Interop.Excel.Application();if(xlApp==null){MessageBox.Show(无法创建excel对象,请确认excel环境是否正常);return;}Microsoft.Office.Interop.Excel.Workbooksworkbooks=xlApp.Workbooks;Microsoft.Office.Interop.Excel.Workbookworkbook=workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);Microsoft.Office.Interop.Excel.Worksheetworksheet=(Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1//写入标题for(inti=0;idataGridView1.ColumnCount;i++){worksheet.Cells[1,i+1]=dataGridView1.Columns[i].HeaderText;}//写入数值for(intr=0;rdataGridView1.Rows.Count;r++){for(inti=0;idataGridView1.ColumnCount;i++){worksheet.Cells[r+2,i+1]=dataGridView1.Rows[r].Cells[i].Value;}System.Windows.Forms.Application.DoEvents();}worksheet.Columns.EntireColumn.AutoFit();//列宽自适应MessageBox.Show(filename+导出文件成功,提示
本文标题:C#编写数据库连接测试事例
链接地址:https://www.777doc.com/doc-4674061 .html