public partial class Form1 : Form
{
string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\\Documents and Settings\\王金刚\\桌面\\报修次数.xls;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\" ";
public Form1()
{
InitializeComponent();
} DataSet ds=new DataSet();
private void Form1_Load(object sender, EventArgs e)
{
OleDbConnection con;
OleDbDataAdapter myadapter;
con = new OleDbConnection(str);
try
{
con.Open();
myadapter = new OleDbDataAdapter("select * from [Sheet4$]", con);
myadapter.Fill(ds, "ds");
int Rcount = ds.Tables["ds"].Rows.Count;
for (int i = 1; i <5; i++)
{
string Rstr = ds.Tables["ds"].Rows[i][0].ToString();
DataTable dtr= new DataTable();
DataTable dt = MysqlDA.ExecDT("select di,UserAccount,UserName,UserAddress,UserPhone From RepareUserInfo where UserAccount='" + Rstr + "' limit 0, 1");
DataRow dr;
dr=dtr.NewRow();
for (int j = 0; j < dt.Columns.Count; j++)
{
dtr.Columns.Add(new DataColumn(dt.Columns[j].ColumnName.ToString(), typeof(string)));
dr[j] = dt.Rows[0][j].ToString();
}
dtr.Rows.InsertAt(dr, i-1);
dtr.AcceptChanges();
dataGridView1.DataSource = dtr;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
con.Close();
}
}
}
为什么插入是可以,但是总是一行。为什么老是替掉前面的数据。
{
string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\\Documents and Settings\\王金刚\\桌面\\报修次数.xls;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\" ";
public Form1()
{
InitializeComponent();
} DataSet ds=new DataSet();
private void Form1_Load(object sender, EventArgs e)
{
OleDbConnection con;
OleDbDataAdapter myadapter;
con = new OleDbConnection(str);
try
{
con.Open();
myadapter = new OleDbDataAdapter("select * from [Sheet4$]", con);
myadapter.Fill(ds, "ds");
int Rcount = ds.Tables["ds"].Rows.Count;
for (int i = 1; i <5; i++)
{
string Rstr = ds.Tables["ds"].Rows[i][0].ToString();
DataTable dtr= new DataTable();
DataTable dt = MysqlDA.ExecDT("select di,UserAccount,UserName,UserAddress,UserPhone From RepareUserInfo where UserAccount='" + Rstr + "' limit 0, 1");
DataRow dr;
dr=dtr.NewRow();
for (int j = 0; j < dt.Columns.Count; j++)
{
dtr.Columns.Add(new DataColumn(dt.Columns[j].ColumnName.ToString(), typeof(string)));
dr[j] = dt.Rows[0][j].ToString();
}
dtr.Rows.InsertAt(dr, i-1);
dtr.AcceptChanges();
dataGridView1.DataSource = dtr;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
con.Close();
}
}
}
为什么插入是可以,但是总是一行。为什么老是替掉前面的数据。
解决方案 »
- C#中返回接口IEnumerator
- 实现动态描画圆的问题
- docx文档添加自定义文档属性工具(customxml)
- form2中点击按钮2启动form1.然后如何让form1的按钮1 enable呢?
- datagrid排序问题
- 两个关于TEXTBOX问题
- 将MSDE打包进vs.NET安装项目后如何卸载呢?
- 怎么模拟点击微信网页版的发送按钮?
- 请问自己写的DataAccess类用单件模式有问题么?
- 能不能在HyperlinkColumn的URL格式化字符串里传送两个绑定的字段
- 急急~~~简单问题GRID
- 请问高手,把wince上的转到windows上,程序要做什么改动,运行环境做什么配置?谢谢帮助!
换成这样???
i--;
dtr.Rows.InsertAt(dr);
这个是不对的。少一个参数啊。
public partial class Form1 : Form
{
string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\\Documents and Settings\\王金刚\\桌面\\报修次数.xls;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\" ";
public Form1()
{
InitializeComponent();
} DataSet ds=new DataSet();
private void Form1_Load(object sender, EventArgs e)
{
OleDbConnection con;
OleDbDataAdapter myadapter;
con = new OleDbConnection(str);
try
{
con.Open();
myadapter = new OleDbDataAdapter("select * from [Sheet4$]", con);
myadapter.Fill(ds, "ds");
int Rcount = ds.Tables["ds"].Rows.Count;
for (int i = 1; i <5; i++)
{
string Rstr = ds.Tables["ds"].Rows[i][0].ToString();
DataTable dtr= new DataTable();
DataTable dt = MysqlDA.ExecDT("select di,UserAccount,UserName,UserAddress,UserPhone From RepareUserInfo where UserAccount='" + Rstr + "' limit 0, 1");
DataRow dr;
dr=dtr.NewRow();
for (int j = 0; j < dt.Columns.Count; j++)
{
dtr.Columns.Add(new DataColumn(dt.Columns[j].ColumnName.ToString(), typeof(string))); dr[j] = dt.Rows[0][j].ToString();
}
dtr.Rows.InsertAt(dr, i-1);
dtr.AcceptChanges();
dataGridView1.DataSource = dtr;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
con.Close();
}
}
}
红色部分有问题。