社区
C#
帖子详情
静态DataSet表内容丢失问题`
yifan102
2007-01-11 10:21:15
我在一个类中定义一个静态datset对象
然后在一个主窗体的load事件中加载数据库中的两个表,
调用子窗体
可在子窗体中使用表时程序出错说表中的行为空,请问哪位大侠知道为什么?
...全文
284
14
打赏
收藏
静态DataSet表内容丢失问题`
我在一个类中定义一个静态datset对象 然后在一个主窗体的load事件中加载数据库中的两个表, 调用子窗体 可在子窗体中使用表时程序出错说表中的行为空,请问哪位大侠知道为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiatong1981
2007-01-11
打赏
举报
回复
你看看子窗体调用DS时
DS里面的表名称就知道了 呵呵
jiatong1981
2007-01-11
打赏
举报
回复
呵呵 写错了一点 手写的 没测试
try
{
this._mConn.ConnectionString = ConStrr;
string _sqlstrr = "select * from PsnInfo";
this._mDa = new SqlDataAdapter(_sqlstrr,this._mConn);
this._mDa.Fill(dbclass.DS,"PersonInfo");
}
catch(SqlException ex)
{
MessageBox.Show(ex.Message);
}
jiatong1981
2007-01-11
打赏
举报
回复
例如:
public class Form1 : System.Windows.Forms.Form
{
……
private void InitControlInfo()
{
try
{
this._mConn.ConnectionString = ConStrr;
string _sqlstrr = "select * from PsnInfo";
this._mDa = new SqlDataAdapter(_sqlstrr,this._mConn);
this._mDa.Fill(dbclass.DS,"PersonInfo");
_ds = _mDs.Copy();
}
catch(SqlException ex)
{
MessageBox.Show(ex.Message);
return false;
}
}
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
this.Hide();
}
}
}
public class dbclass
{
public static DataSet DS = new DataSet();
}
…………
public class Form2 : System.Windows.Forms.Form
{
…………
private void Form2_Load(object sender, System.EventArgs e)
{
this.dataGrid1.DataSource = dbclass.DS.Tables[0];
}
}
yifan102
2007-01-11
打赏
举报
回复
其中dataSet是在另一个类中定义的静态变量
yifan102
2007-01-11
打赏
举报
回复
DataTable selectTable = new DataTable("select_test");
DataTable judgeTable = new DataTable("judge_test");
SqlConnection conn = new SqlConnection(TestSettingValue.connection);
SqlDataAdapter adapter = new SqlDataAdapter("select * from testSetting", conn);
conn.Open();
adapter.Fill(TestResult.datSet, "testSetting");
adapter.SelectCommand = new SqlCommand("select top " + TestSettingValue.choiceNum + " number,content,keya,keyb,keyc,keyd,answer from select_test ORDER BY NEWID()", conn);
adapter.Fill(selectTable);
adapter.SelectCommand = new SqlCommand("select top " + TestSettingValue.judgeNum + " number, content, answer from judge_test ORDER BY NEWID()", conn);
adapter.Fill(judgeTable);
TestResult.datSet.Tables.Add(selectTable);
TestResult.datSet.Tables.Add(judgeTable);
if (TestResult.datSet.Tables["select_test"].Rows.Count != TestSettingValue.choiceNum)
{
MessageBox.Show("数据填充不完整!");
return;
}
conn.Close();
上面这一段是在MdiForm父窗体中执行加载表到datset,正确加载了
可在调用子窗体时出错
下面是子窗体加载时判断dataset中表内容时总说表为0
private void ChoiceForm_Load(object sender, EventArgs e)
{
if (TestResult.datSet.Tables["select_test"].Rows.Count == 0)
{
MessageBox.Show("数据填充不完整!");
return;
}
this.manage = this.BindingContext[TestResult.datSet, "select_test"];
this.Check();
table =TestResult.datSet.Tables["select_test"];
this.CoiceRightAnswer();
this.DataBindControls();
}
jiatong1981
2007-01-11
打赏
举报
回复
问代码
yifan102
2007-01-11
打赏
举报
回复
我用的dataset.Tables["select_test"].Rows[i]["columeName"]来访问的
可程序说表中的第一行就已经空了
在填充dataset时,我作了测试,表不为空,但在子窗体使用表时就空了
rola
2007-01-11
打赏
举报
回复
调用的是不是一张表
yifan102
2007-01-11
打赏
举报
回复
找到原因了,还是自己太马虎了,忘记给试题参数设置值了,结果默认值都为0,所以返回行为0.
同样谢谢你了
whb147
2007-01-11
打赏
举报
回复
怀疑在别的地方修改了数据了
jiatong1981
2007-01-11
打赏
举报
回复
那就要查查别的代码了 因为你的ds是个static 其它地方也可能已经改变了他的值
直接在项目中搜索该DS 看看到底是哪里改变了它
yifan102
2007-01-11
打赏
举报
回复
不是的,表在,但数据为空,不知在哪里丢失了
不是数据填错表了
jiatong1981
2007-01-11
打赏
举报
回复
我感觉是你把数据填错表了 表都在 但是数据不对哦
仔细看看吧
yifan102
2007-01-11
打赏
举报
回复
还是不行,我用下面语句遍历表,所有的表都存在,但就是都是空表
foreach (DataTable dt in TestResult.datSet.Tables)
MessageBox.Show(dt.TableName);
我在别的窗体调用表绑定数据就可以,为什么就在这个窗体不行了,实在郁闷呀
这种情况太邪门了
谢谢你了,我再仔细找找原因吧
Spark每日半小时(31)——结构化流式编程:
Dataset
/DataFrame API2:Join
结构化流式传输支持将
Dataset
/DataFrame与
静态
Dataset
/DataFrame以及另一个流式
Dataset
/DataFrame连接起来。流连接的结果以递增方式生成,类似于上一节中的流聚合的结果。本节,我们将探讨再上述情况下支持哪种类型...
Waymo Open
Dataset
数据集(CVPR 2020)
Waymo Open
Dataset
数据集
The highD
Dataset
: A Drone
Dataset
of Naturalistic Vehicle Trajectories on German Highways for Valid
高自动驾驶数据集:用于验证高度自动化驾驶系统的德国高速公路上自然车辆轨迹的无人机数据集 论文整体说明 论文主要讲述了以下
内容
: (1)highD数据集框架介绍 (2)highD数据集可视化中,是如何利用这三个csv文件...
Spark结构化流之join
请注意,在所有受支持的联接类型中,使用流
Dataset
/DataFrame进行联接的结果将与使用包含流中相同数据的
静态
Dataset
/DataFrame进行联接的结果完全相同。 二.流
静态
联接 自从Spark 2.0引入以来,结构化流已支持流和...
Spark性能优化 -- > Spark SQL、DataFrame、
Dataset
博客
内容
将首发在微信公众号"跟我一起读论文啦啦",上面会定期分享机器学习、深度学习、数据挖掘、自然语言处理等高质量论文,欢迎关注! 本博文将详细分析和总结Spark SQL及其DataFrame、
Dataset
的相关原理和优化...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章