1、这个窗体之前好好的,在我引用gonggongbianliang.YongHuMing.yongHuMing增加判断筛选后,就一直报这个错。我把所有关于这个变量的都去掉,再保存窗体仍然提示。
2、点击运行,程序运行正常,没有问题。
3、各位大佬,路过的帮忙看下,问题到底出在哪里?先拜谢了!
4、写的糙,变量名啥的别吐槽,大佬。这个软件我只是为工作方便自己开发的,方便自己维护打理。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using PiaoWu.GongGongChuangTi;
using PiaoWu.GongGongLei;
namespace PiaoWu.YWGL
{
public partial class WenHuaHuiMin : Form
{
private static WenHuaHuiMin whhm;
private WenHuaHuiMin()
{
InitializeComponent();
}
public static WenHuaHuiMin ChuangJianWHHM()
{
if (whhm==null||whhm.IsDisposed)
{
whhm = new WenHuaHuiMin();
}
return whhm;
}
private void BiaoShuaXin()
{
string strChaXun = $"select *from WenHuaHuiMin where 姓名 = '{GongGongBianLiang.YongHuMing.yongHuMing}' order by 订单日期 desc,演出日期 desc,票价 desc";
TongYongGongNeng.BiaoDaYin(strChaXun, dataGridView1);
string daiBan = $"select distinct 姓名,剧目名称,未完原因 from WenHuaHuiMin where 审核='0' and 姓名 = '{GongGongBianLiang.YongHuMing.yongHuMing}' ";
TongYongGongNeng.BiaoDaYin(daiBan, dataGridView2);
}
private void SuoDingAnNiuZhuangTai()
{
string[] hangShuJu = TongYongGongNeng.HuoQuXuanZeHangShuJu(dataGridView1);
if (hangShuJu.Length > 0)
{
TongYongGongNeng.HuiMinSuoDingAnNiuZhuangTai(hangShuJu[0], toolStripButton6);
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
}
private void WenHuaHuiMin_Load(object sender, EventArgs e)
{
toolStripButton6.Visible = false;
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
groupBox3.Width = this.Width - groupBox3.Location.X * 2 - 10;
groupBox3.Height = this.Height - groupBox3.Location.Y - 70;
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
TongYongGongNeng.DaoChu(dataGridView1);
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
bool panDuan = TongYongGongNeng.BiaoNeiShiFouYouShuJu(dataGridView1);
if (panDuan == true)
{
string[] hangShuJu = TongYongGongNeng.HuoQuXuanZeHangShuJu(dataGridView1);
if (hangShuJu[0] == "0")
{
TongYongGongNeng.ShanChuHang("WenHuaHuiMin", "订单编号", hangShuJu[2], true);
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
}
else
{
MessageBox.Show("已审核出票的订单无法删除!");
}
}
else
{
MessageBox.Show("表内无数据!");
}
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
kaiShiRiQi.Text = dateTimePicker1.Text.Trim();
}
private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
{
jieShuRiQi.Text = dateTimePicker2.Text.Trim();
}
private void button2_Click(object sender, EventArgs e)
{
kaiShiRiQi.Text = null;
jieShuRiQi.Text = null;
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text = null;
comboBox1.Text = null;
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
}
private void button1_Click(object sender, EventArgs e)
{
if (kaiShiRiQi.Text.Trim() != "" && jieShuRiQi.Text.Trim() != "")
{
string strChaXun = $"select *from WenHuaHuiMin where 订单日期 between '{kaiShiRiQi.Text.Trim()}' and '{jieShuRiQi.Text.Trim()}' and 姓名 ='{GongGongBianLiang.YongHuMing.yongHuMing}' order by 订单日期 desc";
TongYongGongNeng.BiaoDaYin(strChaXun, dataGridView1);
}
else
{
MessageBox.Show("开始日期与结束日期不能为空!");
}
}
private void button4_Click(object sender, EventArgs e)
{
if (comboBox1.Text.Trim() != "" && textBox1.Text.Trim() != "")
{
string s1 = comboBox1.Text.Trim();//拆分成多个字符串和字符串数组看是否提示“值不在预期的范围内”,结果不是这里的问题!
string s11 = "姓名";
string[] str1 = { s1, s11 };
string s2 = textBox1.Text.Trim();
string s22 = GongGongBianLiang.YongHuMing.yongHuMing;
string[] str2 = { s2, s22 };
TongYongGongNeng.ChaXun("WenHuaHuiMin", str1, str2, dataGridView1, true, "订单日期");
}
else
{
MessageBox.Show("查找项目与查找内容不能为空!");
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
SuoDingAnNiuZhuangTai();
}
private void dataGridView2_DoubleClick(object sender, EventArgs e)
{
string[] hangShuJu = TongYongGongNeng.HuoQuXuanZeHangShuJu(dataGridView2);
bool panDuan = string.IsNullOrEmpty(hangShuJu[0]);
if (panDuan == false)
{
string strChaXun = $"select *from WenHuaHuiMin where 审核 = '0' and 姓名 like '%{hangShuJu[0]}%' and 剧目名称 like '%{hangShuJu[1]}%' order by 订单日期 desc,演出日期 desc";
TongYongGongNeng.BiaoDaYin(strChaXun, dataGridView1);
}
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
bool panDuan = TongYongGongNeng.BiaoNeiShiFouYouShuJu(dataGridView1);
if (panDuan == true)
{
string[] hangShuJu = TongYongGongNeng.HuoQuXuanZeHangShuJu(dataGridView1);
string shenHe = hangShuJu[0] == "0" ? "确定出票" : "取消出票";
DialogResult dr = MessageBox.Show($"您要\"{shenHe}\"员工:【{hangShuJu[5]}】剧目:【{hangShuJu[8]}】的惠民订单吗?", "提示", MessageBoxButtons.OK);
if (dr == DialogResult.OK)
{
string suoDingZhuangTai = "";
string weiWanYuanYin = "";
string riQi = "";
if (hangShuJu[0].Trim() == "0")
{
suoDingZhuangTai = "1";
weiWanYuanYin = "";
riQi = DateTime.Today.ToString();
}
else if (hangShuJu[0].Trim() == "1")
{
suoDingZhuangTai = "0";
weiWanYuanYin = "未出票";
}
string sqlXiuGai = $"update WenHuaHuiMin set 审核 = '{suoDingZhuangTai}',未完原因 ='{weiWanYuanYin}',出票日期 = '{riQi}' where 订单编号 = '{hangShuJu[2]}'";
FuWuQiLianJie fwqlj = new FuWuQiLianJie();
int jianCha = fwqlj.ZhiXingZSG(sqlXiuGai);
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
}
}
else
{
MessageBox.Show("表内无数据!");
}
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
bool panDuan = TongYongGongNeng.BiaoNeiShiFouYouShuJu(dataGridView1);
if (panDuan==true)
{
string[] hangShuJu = TongYongGongNeng.HuoQuXuanZeHangShuJu(dataGridView1);
if (hangShuJu[0]=="0")
{
WenHuaHuiMin_G xiuGai = new WenHuaHuiMin_G(hangShuJu);
xiuGai.Text = "修改文化惠民订单";
xiuGai.ShowDialog();
if (xiuGai.DialogResult == DialogResult.OK)
{
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
}
}
else
{
MessageBox.Show("此笔订单已审核出票,无法修改!");
}
}
else
{
MessageBox.Show("表内无数据!");
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
WenHuaHuiMin_ZG xinJian = new WenHuaHuiMin_ZG();
xinJian.Text = "新建文化惠民订单";
xinJian.ShowDialog();
if (xinJian.DialogResult == DialogResult.OK)
{
BiaoShuaXin();
SuoDingAnNiuZhuangTai();
}
}
}
}
勾选允许不安全代码就可以了。。。
你第一条写的是不管 引不引用 你说的这个变量都会有异常,怎么到了第二条就说程序运行正常了?能准确描述一下在什么情况下是正常什么情况下异常吗?
1、不好意思,问题没有描述清楚。是在关闭“WenHuaHuiMin”窗体的设计面板和代码面板时出现的一个messagebox提示,而且无法关闭。
2、我在load增加断点,每个功能都试过,均没有发现问题。
3、在群里一个朋友说勾选允许不安全代码试一试,结果勾选上后就不再提示,代码面板和设计面板也可以正常关闭了。
4、奇怪的是,我想重现这个问题,截图给大家看看。取消勾选允许不安全代码后,没有提示了,设计面板和代码面板能正常关闭,就跟从来没有出现过这个问题似得。
@追风千里: 1.你的第一条描述是不是在调试环境下,在关闭窗体的时候跳出的异常消息弹窗呢?猜测是这样的,应该是在你关闭窗体之后有些资源异常导致的问题;
2.你在关闭窗体出现异常跟踪load方法,应该是没用的,要跟踪也是跟踪close事件方法,可以声明一个个close()方法,如下:
private void WenHuaHuiMin_Close(object sender, EventArgs e)
{
//TODO
}
3.不建议勾选不安全代码,尝试添加异常捕捉,特别熟数据库CURD操作,如下:
try
{
//TODO
}
Catch(Exception exc)
{
//TODO
}
4.可尝试在调试环境下再尝试问题是否可以复现,如果不能,那就木得办法了 0.0
错误信息要发出来,
1、不好意思,问题没有描述清楚。是在关闭“WenHuaHuiMin”窗体的设计面板和代码面板时出现的一个messagebox提示,而且无法关闭。
2、我在load增加断点,每个功能都试过,均没有发现问题。
3、在群里一个朋友说勾选允许不安全代码试一试,结果勾选上后就不再提示,代码面板和设计面板也可以正常关闭了。
4、奇怪的是,我想重现这个问题,截图给大家看看。取消勾选允许不安全代码后,没有提示了,设计面板和代码面板能正常关闭,就跟从来没有出现过这个问题似得。
debug方法,添加Console.writeLine(),看执行到哪步出现这个异常,一般来说可能是某些数类型转换出问题了
1、不好意思,问题没有描述清楚。是在关闭“WenHuaHuiMin”窗体的设计面板和代码面板时出现的一个messagebox提示,而且无法关闭。
2、我在load增加断点,每个功能都试过,均没有发现问题。
3、在群里一个朋友说勾选允许不安全代码试一试,结果勾选上后就不再提示,代码面板和设计面板也可以正常关闭了。
4、奇怪的是,我想重现这个问题,截图给大家看看。取消勾选允许不安全代码后,没有提示了,设计面板和代码面板能正常关闭,就跟从来没有出现过这个问题似得。