我最近需要在一个线程中将数据加载到gridview中,问题是当我尝试将内容移动到它时,我得到一个错误,说不可能,在网上搜索我找到了一些解决方案ThreadHelperClass没有更多的成功,如果他们可以帮助我,可以欣赏,谢谢你。
以下代码:
trediExecucao = new Thread(new ThreadStart(delegate
{
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
dataSet = new DataSet();
adapter.Fill(dataSet);
conn.Dispose();
cmd.Dispose();
adapter.Dispose();
if (dataSet != null && dataSet.Tables != null && dataSet.Tables[0] != null)
{
dt1.DataSource = dataSet;
linhas = dataSet.Tables[0].Rows.Count.ToString();
dt1.DataMember = dataSet.Tables[0].TableName;
dataSet.Dispose();
}
btnExecutar.Image = pictureBox1.Image;
rodando = false;
}));
trediExecucao.Start();
答案 0 :(得分:0)
是否必须在线程中?
我这样做
try
{
using (cn)
using (OdbcDataAdapter dadapter = new OdbcDataAdapter(globals.dgsql, cn))
{
DataTable table = new DataTable();
dadapter.Fill(table);
this.MY_DataGridView.DataSource = table;
connection.exitcon();
}
}
catch (OdbcException o)
{
MessageBox.Show(o.ToString(), "Error");
return;
}
}
其中cn是我的连接类,而dgsql是用于将结果返回给MY_DataGridView的sql