昆明参差网站,武进网站建设平台,衡阳网站建设公司,优质公司网站版权声明#xff1a;本文为博主原创文章#xff0c;转载请在显著位置标明本文出处以及作者网名#xff0c;未经作者允许不得用于商业目的。
本节所说的操作Excel操作是讲如何把Excel作为数据库来操作。
通过COM来操作Excel操作#xff0c;请参看第21.2节
在第19.3.4节【…版权声明本文为博主原创文章转载请在显著位置标明本文出处以及作者网名未经作者允许不得用于商业目的。
本节所说的操作Excel操作是讲如何把Excel作为数据库来操作。
通过COM来操作Excel操作请参看第21.2节
在第19.3.4节【连接Excel】中已经讲述了如何连接Excel。剩下的操作就和前面几节操作Access数据库一样。
注意Excel不支持删除一行记录使用SQL的delete语句会返回错误。如果需要在Excel中删除一行记录请参看第21.2.4节。
本节使用到的样例Excel表是从北风数据库中产品表的部分数据 图19-38 产品表信息
【例 19.17】【项目code19-017】产品信息管理。 OleDbConnection conn; private void Form1_Load(object sender, EventArgs e) { conn new OleDbConnection(); //32位office使用以下语句 conn.ConnectionString ProviderMicrosoft.Jet.OLEDB.4.0;Data Source C:\\lessons\\Northwind.xlsx;Extended Properties‘Excel 8.0; HDRYES;; conn.Open(); //64位office使用以下语句而且程序要编译为64位 //conn.ConnectionString ProviderMicrosoft.ACE.OLEDB.12.0;Data SourceC:\\lessons\\Northwind.xlsx;Extended PropertiesExcel 12.0 XML;HDRYES;; //conn.Open(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { conn.Close(); } //查询所有数据 private void btnQueryAll_Click(object sender, EventArgs e) { string sql select * from [产品$]; OleDbCommand command new OleDbCommand(sql, conn); OleDbDataReader reader command.ExecuteReader(); int fieldCount reader.FieldCount; string info ; if( reader.HasRows) { string strtemp ; while(reader.Read()) { strtemp ; for (int i 0; i fieldCount; i) strtemp reader[i] ; strtemp \r\n; info strtemp; } } reader.Close(); TextBox1.Text info; } //查询单价大于30的数据 private void btnQuery_Click(object sender, EventArgs e) { string sql select * from [产品$] where 单价30; OleDbCommand command new OleDbCommand(sql, conn); OleDbDataReader reader command.ExecuteReader(); int fieldCount reader.FieldCount; string info ; if(reader.HasRows) { string strtemp ; while(reader.Read()) { strtemp ; for (int i 0; i fieldCount; i) strtemp reader[i] ; strtemp \r\n; info strtemp; } } reader.Close(); TextBox1.Text info; } //增加数据 private void btnAdd_Click(object sender, EventArgs e) { string sql insert into [产品$] values(奶酪,每箱24瓶,55,79,0); OleDbCommand command new OleDbCommand(sql, conn); try { command.ExecuteNonQuery(); MessageBox.Show(添加数据成功); } catch(Exception ex) { MessageBox.Show(添加数据失败 ex.Message); } } //修改数据 private void btnEdit_Click(object sender, EventArgs e) { string sql update [产品$] set 产品名称温馨奶酪,单价80 where 产品名称奶酪; OleDbCommand command new OleDbCommand(sql, conn); try { command.ExecuteNonQuery(); MessageBox.Show(修改数据成功); } catch (Exception ex) { MessageBox.Show(修改数据失败 ex.Message); } }
运行结果如下图所示 图19-39 列出产品信息
如果遇到已经安装了64位数据库引擎但是仍然提示 图19-40 提示未注册OLEDB12.0
请在项目属性【生成】|【目标平台】处选择X86。 图19-41 设置生成目标平台 学习更多vb.net知识请参看vb.net 教程 目录
学习更多C#知识请参看C#教程 目录