新手请教高手!DataGridView中不显示数据的问题?

极真文职 2008-08-08 07:36:34
先整了一个类文件
//根据输入的SQL语句检索数据库数据
public DataSet SelectDataBase(string tempStrSQL, string tempTableName)
{
this.strSQL = tempStrSQL;
this.myConnection = new SqlConnection(connectionString);
this.da = new SqlDataAdapter(this.strSQL, this.myConnection);
this.ds.Clear();
this.da.Fill(ds, tempTableName);
return ds;//返回填充了数据的DataSet,其中数据表以tempTableName给出的字符串命名
}
在需要的窗体中查询
LinkDataBase link = new LinkDataBase();
string sendTableName = "表名称";
sendStrSQL = "select InputDate, ArriveCompany, Event, InputMan, Term, Complete, CompleteDate, CompleteDesc, Remark, InputOffice FROM 表名称 where " + strSQL;
this.ds = link.SelectDataBase(sendStrSQL, sendTableName);
this.DataGridView.DataSource = ds.Tables[0];
查询出符合条件的数据后,DataGridView控件里面有正确的行数出现,但是都是空白的,没有数据填充进去?
窗体Load的时候是使用
this.窗体名称TableAdapter.Fill(this.数据集名称.表名称)填充的
新手请教高手
...全文
82 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
极真文职 2008-08-08
  • 打赏
  • 举报
回复
失礼了,前面问题解决了,结帖了,分给完了~!失礼失礼~!
spgoal 2008-08-08
  • 打赏
  • 举报
回复
this.myConnection = new SqlConnection(connectionString);
myConnection.open();
this.da = new SqlDataAdapter(this.strSQL, this.myConnection);
this.ds.Clear();
this.da.Fill(ds, tempTableName);
极真文职 2008-08-08
  • 打赏
  • 举报
回复
偷懒,没有贴出来~!失礼~!
问题解决了,找到一个帖子,说是在窗体设计状态使用属性给DataGridView设定数据源,设定了列名等等,在手动读取的时候就不显示了。
wanghuiwwgg 2008-08-08
  • 打赏
  • 举报
回复
好像數據源都沒打開哦。。。。
sjm2003 2008-08-08
  • 打赏
  • 举报
回复
上面逻辑层修改下
逻辑层:

C# code
public class LuoJi
{
....
public LinkDataBase link=new LinkDataBase();//补充个实例
public DataSet GetDataDataSet()
{
return link.SelectDataBase(TempStrSQLs,TempTableNames);
}
}


sjm2003 2008-08-08
  • 打赏
  • 举报
回复
LZ没有定义connectionString的字符串值,无法连接数据库,何来数据。
数据层:

public class LinkDataBase
{
....
public DataSet SelectDataBase()
{
string sendStrSQL = "select InputDate, ArriveCompany, Event, InputMan, Term, Complete, CompleteDate, CompleteDesc, Remark, InputOffice FROM 表名称 where " + strSQL;
string connectionString=".........";//这个你似乎没有定义连接数据库字符串
myConnection = new SqlConnection(connectionString);
da = new SqlDataAdapter(this.strSQL, this.myConnection);
ds.Clear();
da.Fill(ds);
return ds;//返回填充了数据的DataSet,其中数据表以tempTableName给出的字符串命名
}
}

逻辑层:

public class LuoJi
{
....
public DataSet GetDataDataSet()
{
return link.SelectDataBase(TempStrSQLs,TempTableNames);
}
}

界面层

......
public Luoji l=new Luoji();
private void .......
{
this.DataGridView.DataSource = l.GetDataDataSet().Tables[0].Defautview; //默认视图
}

111,101

社区成员

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

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

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