数据只能比较一个或一个,之后就没反应了,是什么原因?

lucksea521 2011-05-31 10:45:40
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
}


}


}

...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
至尊贱客 2011-06-01
  • 打赏
  • 举报
回复
支持小倩~~~~~~~~~~
sichuno 2011-06-01
  • 打赏
  • 举报
回复
帮顶~
cjh200102 2011-06-01
  • 打赏
  • 举报
回复
你的意思是比较的时候只循环第一次就终止了?
kingdom_0 2011-06-01
  • 打赏
  • 举报
回复
thisdbfdataadapter.Fill(DBFdt);
填充的是不是有点儿问题?
应该这样吧
thisdbfdataadapter.Fill(thisdbfdataset);
lucksea521 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cjh200102 的回复:]
你的意思是比较的时候只循环第一次就终止了?
[/Quote]
是这样。
lucksea521 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kingdom_0 的回复:]
thisdbfdataadapter.Fill(DBFdt);
填充的是不是有点儿问题?
应该这样吧
thisdbfdataadapter.Fill(thisdbfdataset);
[/Quote]
如果用"thisdbfdataadapter.Fill(thisdbfdataset);"
会提示Xm列不存在。

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧