slqDataReader 问题.

ericstock 2007-10-18 07:52:19
程序块一:
private void button1_Click(object sender, EventArgs e)
{
panel1.Controls.Clear();
string sql = "Select Tickets.TicketId as 电影票编号,Films.FilmName as 片名,Halls.HallName as 放映厅名,Scene.SceneId as 场次编号," +
"TicketType.TypeName as 票类型名,TicketType.Discount as 票折扣率,Seats.SeatName as 座位类名," +
"Seats.BaseNum as 座位基数,Tickets.RowNumber as 座位排号,Tickets.SeatNumber as 座位座号,ScenceCost.price as 票价,Tickets.State as 状态 " +
"from ScenceCost,Films,TicketType,Halls,Seats,Scene,Tickets " +
"where ScenceCost.FilmId=Films.FilmId and " +
"ScenceCost.HallId=Halls.HallId and " +
"ScenceCost.SceneId=Scene.SceneId and " +
"ScenceCost.TicketTypeId=TicketType.TypeId and " +
"ScenceCost.SeatTypeId=Seats.SeatTypeId and " +
"ScenceCost.CostId=Tickets.CostId and " +
"Films.FilmName='" + combFilmName.Text + "' and " +
"Halls.HallName='" + combHall.Text + "' and " +
"Scene.SceneId='" + combScene.Text + "'" +
"order by Scene.SceneId desc,Halls.HallName desc,Tickets.RowNumber asc,Tickets.SeatNumber asc,TicketType.TypeName desc";
if (combFilmName.Text == "" || combHall.Text == "" || combScene.Text == "")
{
MessageBox.Show("请将数据填写完整。\n若下拉菜单里无数据,表示没有相关信息。");
return;
}
trytwice();
SqlDataAdapter adp = new SqlDataAdapter(sql, con);
DataTable table = new DataTable();
adp.Fill(table);
DGVTicketInfo.DataSource = table;
cmd.CommandText = sql;
SqlDataReader reader = cmd.ExecuteReader();
Button[] seat = new Button[100000];//定义座位
string seattype = "";//座位类名
int seatnum = new int();
int row = new int();
int col = new int();
string state;//记录状态
//以下是座位的坐标
int x = new int();
x = 10;
int y = new int();
y = 30;
int width = new int();
width = 40;
int height = new int();
height = 40;//控件的坐标和大小
while (reader.Read())
{
if (row == 0 && col == 0)
{
row = int.Parse(reader["座位排号"].ToString());
col = int.Parse(reader["座位座号"].ToString());
state = reader["状态"].ToString();
seat[seatnum] = new Button();
this.panel1.Controls.Add(seat[seatnum]);
seattype = reader["座位类名"].ToString();
if (seattype == "贵宾座位")
{
seat[seatnum].BackColor = Color.Yellow;
}
string str1 = row.ToString();
string str2 = col.ToString();
zero(ref str1, ref str2);//将button上的按钮加0
seat[seatnum].Text = str1 + "排" + str2 + "座";
seat[seatnum].SetBounds(x, y, width, height);
if (state == "未售")
{
seat[seatnum].Click += new EventHandler(seat_Click);
}
else if (state != "未售")
{
seat[seatnum].Enabled = false;
}
seatnum++;
}
else
{
if (int.Parse(reader["座位排号"].ToString()) == row && int.Parse(reader["座位座号"].ToString()) == col)
{
continue;
}
else
{
if (int.Parse(reader["座位座号"].ToString()) > col)
{
row = int.Parse(reader["座位排号"].ToString());
col = int.Parse(reader["座位座号"].ToString());
state = reader["状态"].ToString();
seat[seatnum] = new Button();
this.panel1.Controls.Add(seat[seatnum]);
seattype = reader["座位类名"].ToString();
if (seattype == "贵宾座位")
{
seat[seatnum].BackColor = Color.Yellow;
}
string str1 = row.ToString();
string str2 = col.ToString();
zero(ref str1, ref str2);
seat[seatnum].Text = str1 + "排" + str2 + "座";
x = x + width;
seat[seatnum].SetBounds(x, y, width, height);
if (state == "未售")
{
seat[seatnum].Click += new EventHandler(seat_Click);
}
else if (state != "未售")
{
seat[seatnum].Enabled = false;
}
seatnum++;
}
else
{
row = int.Parse(reader["座位排号"].ToString());
col = int.Parse(reader["座位座号"].ToString());
state = reader["状态"].ToString();
seat[seatnum] = new Button();
this.panel1.Controls.Add(seat[seatnum]);
seattype = reader["座位类名"].ToString();
if (seattype == "贵宾座位")
{
seat[seatnum].BackColor = Color.Yellow;
}
string str1 = row.ToString();
string str2 = col.ToString();
zero(ref str1, ref str2);
seat[seatnum].Text = str1 + "排" + str2 + "座";
if (col == 1)
{
x = 10;
y = y + height;
}
else
{
x = x + width;
}
seat[seatnum].SetBounds(x, y, width, height);
if (state == "未售")
{
seat[seatnum].Click += new EventHandler(seat_Click);
}
else if (state != "未售")
{
seat[seatnum].Enabled = false;
}
seatnum++;
}
}
}
}
con.Close();
if (seatnum == 0)
{
MessageBox.Show("sorry,没有您所要的票,购买票务失败!");
reader.Close();
return;
}
}
我按第一次按button1时候没有问题
第二次按button1时 出现错误
提示为:
ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。

这是为什么??
怎么该?
...全文
119 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ec8483 2007-10-19
  • 打赏
  • 举报
回复
每个子程序都用上
con.Open();
con.close();
那样就不会有那种错误的吧
whgames_007 2007-10-19
  • 打赏
  • 举报
回复
数据库在哪里打开的啊!!是不是trytwice();不像啊


还有提点建议,数据库不用出现中文字段!!
wqy1981 2007-10-19
  • 打赏
  • 举报
回复
ben_bear 2007-10-18
  • 打赏
  • 举报
回复
con.Open();
SDFDSAC 2007-10-18
  • 打赏
  • 举报
回复
是不是别的地方把连接关了?
ericstock 2007-10-18
  • 打赏
  • 举报
回复
trytwice();
是将sqlconnection con 打开。
ericstock 2007-10-18
  • 打赏
  • 举报
回复
SqlDataReader reader = cmd.ExecuteReader(); 这句话出错了
提示为:
ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
是为什么??
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 QNAP 301w 免拆刷机方法 特别感谢 @coolsnowwolf @asushugo 等一众牛B的开发者适配301w路由器! QNAP QHora-301W 产品介绍 当前促销:https://www.materiel.net/produit/202011090007.html?offerId=AR202011090007 一. 开启SSH服务 在开启路由器可以正常进系统的状态下,长按路由器后的 WPS 键,直到听到第二声“嘟”松开(大约 12 秒)就 OK。 -- 二. SSH连接路由器后台 这里需要注意一点 路由器默认开启的SSH的端口号是 22200 用户名是,密码是路由器网页登录密码 ssh命令就是 ( 如果端口没开重复步骤1 ) 或者使用putty连接 putty -- 三. 将启动分区切换到第二分区 提示要输入的密码就是刚刚你登录 ssh 的密码,以下不再赘述 重启 -- 四. 检查路由器当前启动分区 查看分区,确保这里会输出 1,如果不是,重复步骤 三。 -- 五. 使用 Winscp 上传QSDK的 kernel.bin 和 rootfs.bin 到 /tmp (! 别问我固件从哪儿拿) -- 六. 将QSDK到dd刷入第一分区 注意:强烈建议使用dd命令(方法自行搜索引擎)备份一些重要的分区例如mtd闪存分区以及mmc闪存分区,以便以后可以恢复官方固件 截图参考: putty 执行完上述命令之后即可刷入QSDK并从第一分区启动QSDK,注意由于目前还没有刷10G PHY的firmware,需刷入firmware。 -- 七. 刷入 10G PHY 的 fi...
内容概要:本文提出了一种基于WMSST(加权多尺度奇异值变换)结合MCNN-GRU的深度学习模型,用于网络故障诊断。该方法首先利用WMSST对原始信号进行多尺度特征提取与去噪处理,增强故障特征的可辨识性;随后构建多尺度卷积神经网络(MCNN)以捕获局部时域特征,并通过门控循环单元(GRU)捕捉时间序列中的长期依赖关系,从而实现对复杂网络故障的高效、准确识别。整个模型充分发挥了卷积网络在特征提取和循环网络在时序建模方面的优势,结合信号预处理技术提升了诊断精度与鲁棒性,适用于非平稳、强噪声环境下的故障检测场景。; 适合人群:具备一定信号处理、机器学习或深度学习基础,从事电气工程、自动化、通信网络或故障诊断相关研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统故障诊断方法在复杂噪声环境下特征提取困难的问题;②提升网络系统(如电力通信网、工业控制网等)中故障识别的准确性与时效性;③为智能运维与预测性维护提供技术支持。; 阅读建议:建议读者结合Matlab代码实现部分,深入理解WMSST的信号处理流程与MCNN-GRU网络架构的设计细节,重点关注数据预处理、模型训练及分类结果可视化等环节,以便在实际项目中进行迁移与优化应用。

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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