C#编写数据库连接测试事例Word格式文档下载.docx
- 文档编号:16215838
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:24
- 大小:68.65KB
C#编写数据库连接测试事例Word格式文档下载.docx
《C#编写数据库连接测试事例Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C#编写数据库连接测试事例Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
#region读取某表的内容
privatevoidlistBox2_DoubleClick(objectsender,EventArgse)
strings1="
s1=listBox2.SelectedItem.ToString();
stringretstr=open_table(textBox1.Text,s,s1,"
"
);
open_table(textBox1.Text,s,s1,retstr);
其中initdb函数如下:
#region初始化sql,连接ip地址,也可以用于读取某数据库有多少个数据表initdb
//ifdbnameisnull,thenreturnsystem_db_name
//elseconnectdqlname(ip),connectdbnamereturntablenameofdbname
publicboolinitdb(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表集合里的第一个表复制给dt
dt=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
+sqlname+"
database='
+dbname+"
if(bz==0)
SELECT*FROMsysobjectsWHERE(xtype='
U'
)"
commandstring=dbname;
stringtmp="
listBox2.Items.Clear();
tmp="
listBox2.Items.Add(dt.Rows[i][0].ToString());
//Console.WriteLine(dt.Rows[i][0].ToString());
returnfalse;
2.实现access数据库的读写
#region读取access数据库
privatevoidbutton2_Click(objectsender,EventArgse)
stringmypath=Application.StartupPath+"
\\mydata.accdb"
//连接数据库的路径及数据库名
if(!
File.Exists(mypath))//判断文件是否存在
MessageBox.Show(mypath+"
文件未找到!
return;
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
3.实现sqllite的读写;
#region连接sqllite数据库
privatevoidbutton3_Click(objectsender,EventArgse)
DisplayImagesimageform=newDisplayImages();
imageform.StartPosition=FormStartPosition.CenterScreen;
imageform.Show();
4.将数据库内容导出为excel
#region导出excel
privatevoidbutton5_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环境是否正常"
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;
i<
dataGridView1.ColumnCount;
i++)
worksheet.Cells[1,i+1]=dataGridView1.Columns[i].HeaderText;
//写入数值
for(intr=0;
r<
dataGridView1.Rows.Count;
r++)
{
worksheet.Cells[r+2,i+1]=dataGridView1.Rows[r].Cells[i].Value;
}
System.Windows.Forms.Application.DoEvents();
worksheet.Columns.EntireColumn.AutoFit();
//列宽自适应
MessageBox.Show(filename+"
导出文件成功"
"
提示"
MessageBoxButtons.OK);
if(savefilename!
="
workbook.Saved=true;
workbook.SaveCopyAs(savefilename);
//fileSaved=true;
catch(Exceptionex)
{//fileSaved=false;
导出文件时出错,文件可能正被打开!
\n"
+ex.Message);
xlApp.Quit();
GC.Collect();
//强行销毁
完整代码如下:
1.form1.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
usingSystem.IO;
usingSystem.Data.OleDb;
usingKribo.StoringImages;
usingexcel=Microsoft.Office.Interop.Excel;
namespacedbtest
{
publicpartialclassForm1:
Form
#region定义变量
//连接成功标志
publicboollinkflag=false;
//存储连接sql的数据
publicstringconnectstring="
//连接数据库表的命令
publicstringcommandstring="
stringsqlnameip,sqldb,sqluid,sqlpwd;
//dateset是一个可以存放多个表的集合,查询结果会以表的形式保存在里面需要usingsystem.data.sqlclient;
DataSetds=newDataSet();
//一个DataTable就是一个表,等会用来获取查询的结果
DataTabledt=newDataTable();
//SELECT*FROMsysobjectsWHERE(xtype='
)查看数据库中有多少个表
//查看所有数据库:
selectnamefromsys.databases
intrecordcount=1000;
//每次读取1000条记录
SQLbasedatacon=newSQLbase();
//声明sqlbase类的一个对象,以调用其方法
structrecordstru//数据库记录集合
publicstring[]recordname;
publicrecordstru(intnum)
recordname=newstring[num];
};
#region初始化控件
publicForm1()
InitializeComponent();
#region打开数据库表
publicstri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 编写 数据库连接 测试 事例