private void button2_Click(object sender, EventArgs e)
{ System.Data.Odbc.OdbcConnection DBFconn = new System.Data.Odbc.OdbcConnection(@"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + textBox2.Text.Trim() + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO"); DBFconn.Open();
OdbcCommand DBFcmd = DBFconn.CreateCommand(); System.Data.Odbc.OdbcDataAdapter thisdbfdataadapter = new OdbcDataAdapter("select * from " + textBox2.Text.Trim(), DBFconn);
OdbcCommandBuilder thisdbfbuilder = new OdbcCommandBuilder(thisdbfdataadapter);
DataSet thisdbfdataset = new DataSet(); DataTable DBFdt = new DataTable();
thisdbfdataadapter.Fill(DBFdt);
DataRow[] xDBFRow;
//以下是excel的操作 string table0 = textBox1.Text.Trim();
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+table0+";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [招生信息$] ";
myConn.Open(); OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "[招生信息$]"); string excelname,excelcode;
int t=myDataSet .Tables ["[招生信息$]"].Rows .Count ;
for (int j = 2; j < t; j++)
{
excelname = myDataSet.Tables["[招生信息$]"].Rows[j][0].ToString();
excelcode = myDataSet.Tables["[招生信息$]"].Rows[j][5].ToString();
myConn.Close();
//以下是数据比较
string DBFtable = textBox2.Text.Trim();
xDBFRow = DBFdt.Select("Xm='"+excelname+" '"); if (xDBFRow != null)
{ //如果有这学生,就把这条学生信息从excel中表复制过来dataGridView1
} else
{ //如库中没有这学生,就把这条学生信息从excel表中复制到dataGridView2
}
}
}
{ System.Data.Odbc.OdbcConnection DBFconn = new System.Data.Odbc.OdbcConnection(@"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + textBox2.Text.Trim() + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO"); DBFconn.Open();
OdbcCommand DBFcmd = DBFconn.CreateCommand(); System.Data.Odbc.OdbcDataAdapter thisdbfdataadapter = new OdbcDataAdapter("select * from " + textBox2.Text.Trim(), DBFconn);
OdbcCommandBuilder thisdbfbuilder = new OdbcCommandBuilder(thisdbfdataadapter);
DataSet thisdbfdataset = new DataSet(); DataTable DBFdt = new DataTable();
thisdbfdataadapter.Fill(DBFdt);
DataRow[] xDBFRow;
//以下是excel的操作 string table0 = textBox1.Text.Trim();
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+table0+";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [招生信息$] ";
myConn.Open(); OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "[招生信息$]"); string excelname,excelcode;
int t=myDataSet .Tables ["[招生信息$]"].Rows .Count ;
for (int j = 2; j < t; j++)
{
excelname = myDataSet.Tables["[招生信息$]"].Rows[j][0].ToString();
excelcode = myDataSet.Tables["[招生信息$]"].Rows[j][5].ToString();
myConn.Close();
//以下是数据比较
string DBFtable = textBox2.Text.Trim();
xDBFRow = DBFdt.Select("Xm='"+excelname+" '"); if (xDBFRow != null)
{ //如果有这学生,就把这条学生信息从excel中表复制过来dataGridView1
} else
{ //如库中没有这学生,就把这条学生信息从excel表中复制到dataGridView2
}
}
}
解决方案 »
- 我用VS2005来做一道课本上的例题(《C#编程语言设计与开发》,陈钟 等 编著,清华大学出版社),可是在启动调试的时候显示如下错误:
- 请教高手,我想取一个物料编码如 01.001.001 最后一个点号前面的部分 01.001 ,谢谢
- 关于读取XML文件的问题,请进
- 我得到一个Menu怎么得到他的每个菜单item和name
- 请问,在.aspx中如何用c#程序备份一个mssqlserver数据库(不是复制.ldf和.mdf而是生成一个备份文件)
- C#2005遍列控件
- .NET开发的软件能反编译吗????
- 在C#.net中,当用户登陆网站时如何获取其公网的IP地址?
- 图形编程问题:如何用目标图的前景色代替源图的背景色
- 如何在datatable中,去掉一行。例如知道某行第几列的值,从而把这一行删掉?
- 能将ds1.Tables ["table_nale"]里的content字段取前20个字符然后给datagrid1吗?
- [分享+散分]:高效率的全组合算法
填充的是不是有点儿问题?
应该这样吧
thisdbfdataadapter.Fill(thisdbfdataset);
会提示Xm列不存在。