问题描述
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.OleDb;namespace开发数据库应用程序{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){stringstrcn="provider=microsoft.jet.oledb.4.0;datasource=|DataDirectory|\信息.mdb";OleDbConnectioncn=newOleDbConnection(strcn);if(textBox1.Text.Trim()==""||comboBox1.Text.Trim()==""||textBox2.Text.Trim()==""||dateTimePicker1.Text.Trim()==""||maskedTextBox1.Text.Trim()==""||textBox3.Text.Trim()=="")MessageBox.Show("请将录入数据填写完整!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);else{stringsql1=string.Format("insertinto个人信息表(学号,姓名,性别,年龄,生日,联系地址)values('{0}','{1}','{2}','{3}','{4}','{5}')",this.textBox1.Text.Trim(),this.comboBox1.Text.Trim(),this.textBox2.Text.Trim(),this.dateTimePicker1.Text.Trim(),this.maskedTextBox1.Text.Trim(),this.textBox3.Text.Trim());cn.Open();OleDbCommandcmd=newOleDbCommand(sql1,cn);cmd.ExecuteNonQuery();cn.Close();MessageBox.Show("录入成功!","恭喜");}}privatevoidbutton2_Click(objectsender,EventArgse){stringstrcn="provider=microsoft.jet.oledb.4.0;datasource=|DataDirectory|\信息.mdb";OleDbConnectioncn=newOleDbConnection(strcn);cn.Open();stringsql2=string.Format("update个人信息表set学号='{0}',姓名='{1}',性别='{2}',年龄='{3}',生日='{4}',联系地址='{5}'WHERE学号='{6}';",this.textBox1.Text.Trim(),this.comboBox1.Text.Trim(),this.textBox2.Text.Trim(),this.dateTimePicker1.Text.Trim(),this.maskedTextBox1.Text.Trim(),this.textBox3.Text.Trim(),this.Tag.ToString());OleDbCommandcmd=newOleDbCommand(sql2,cn);cmd.ExecuteNonQuery();MessageBox.Show("修改成功!","恭喜");}privatevoidbutton3_Click(objectsender,EventArgse){stringstrcn="provider=microsoft.jet.oledb.4.0;datasource=|DataDirectory|\信息.mdb";OleDbConnectioncn=newOleDbConnection(strcn);cn.Open();stringsql3=string.Format("delete*FROM个人信息表WHERE学号='{0}';",this.textBox1.Text.Trim());OleDbCommandcmd=newOleDbCommand(sql3,cn);cmd.ExecuteNonQuery();MessageBox.Show("删除成功!","恭喜");}privatevoidbutton4_Click(objectsender,EventArgse){this.textBox1.Text="";this.comboBox1.Text="";this.textBox2.Text="";this.dateTimePicker1.Text="";this.maskedTextBox1.Text="";this.textBox3.Text="";}privatevoidForm1_Load(objectsender,EventArgse){if(this.Text=="个人信息录入"){this.button1.Visible=true;this.button2.Visible=false;this.button3.Visible=false;this.button4.Visible=true;}if(this.Text=="个人信息修改"){this.button1.Visible=false;this.button2.Visible=true;this.button4.Visible=false;this.button3.Visible=false;stringstrcn="provider=microsoft.jet.oledb.4.0;datasource=|DataDirectory|\信息.mdb";OleDbConnectioncn=newOleDbConnection(strcn);try{stringsql2=string.Format("SELECT个人信息表.*FROM个人信息表WHERE学号='{0}';",this.Tag.ToString());this.Tag.ToString();cn.Open();OleDbCommandcmd=newOleDbCommand(sql2,cn);OleDbDataReaderdr;dr=cmd.ExecuteReader();dr.Read();this.textBox1.Text=dr[0].ToString();this.comboBox1.Text=dr[1].ToString();this.textBox2.Text=dr[2].ToString();this.dateTimePicker1.Text=dr[3].ToString();this.maskedTextBox1.Text=dr[4].ToString();this.textBox3.Text=dr[5].ToString();}catch{MessageBox.Show("没有该学号!","对不起");return;}finally{cn.Close();}}}}}
解决方案
解决方案二:
你那个路径下有mdb数据库文件吗?
解决方案三:
把你的数据库文件复到报错的那个调试目录下,要不就把你程序里的路径给换了
解决方案四:
先放固定路径下,比如"F:\SBSK\att2000.mdb",程序成功后然后看下你的stringstrcn="provider=microsoft.jet.oledb.4.0;datasource=|DataDirectory|\信息.mdb";跟踪结果是什么,确保路径正确
解决方案五:
|DataDirectory|会被自动解析到App_Data。路径是不是正确的?另外需要机器上有在Microsoft.Jet.OLEDB.4.0这个组件,一般装了.net环境以后都有还需要注意在64位IIS上,可能需要将应用程序池设置为32位模式,或者(7以上版本)设置为允许运行32为应用程序
解决方案六:
确定路径没有错?
解决方案七:
把mdb文件复制到错误指向的的路径里,