C#安插时程序自动退出
C#插入时程序自动退出本帖最后由 liuzhuoran1110 于 2012-12-03 21:41:37 编辑foreach (char charJudge in
C#插入时程序自动退出
本帖最后由 liuzhuoran1110 于 2012-12-03 21:41:37 编辑
foreach (char charJudge in insertStr)
{
if (charJudge == 'E')
{
string Sqlcom = "INSERT INTO project(name) VALUES('" + insertStr + "');";
ExecuteSQL(Sqlcom);
MessageBox.Show(insertStr);
return;
}
if (charJudge == 'S')
{
string Sqlcom = "INSERT INTO project(email) VALUES('" + insertStr + "');";
ExecuteSQL(Sqlcom);
MessageBox.Show(insertStr);
return;
}
}
执行时程序直接就退出了,如果把
string Sqlcom = "INSERT INTO project(email) VALUES('" + insertStr + "');";
ExecuteSQL(Sqlcom);
注释掉则没有错误,请教这是为什么,谢谢
[最优解释]string Sqlcom = "INSERT INTO project(email) VALUES('" + insertStr + "');";
ExecuteSQL(Sqlcom);
好象你多了个;号吧,你把那个;号去掉再试试
[其他解释]估计是问题出在ExecuteSQL方法中。
[其他解释]如果是这样的话 那就是判断里面有问题 根本没有执行if里的内容导致没有任何报错就退出了程序
lz可以在if处加个断点跟踪一下
[其他解释]你的字符串里面有特殊字符。你是不是用的sqlserver.
[其他解释]lz的project表里面的字段都是可以为空的么? 如果是不为空的话 这样插入数据是会有问题的吧
------其他解决方案--------------------
可以为空,现在这样进行简单的测试,结果出现这种问题
[其他解释]是SqlSever,字符都是些数字或者字母
[其他解释]可以贴一下ExecuteSQL方法的代码么?
[其他解释]感谢,我只有明天贴代码了,不好意思,今天不在了
[其他解释]没关系 大家一起交流嘛
[其他解释]public static void ExecuteSQL(string SQLwords)
{
//执行插入、删除、更新的函数
string myConStr = "user id=sa; password=lzr666;";
myConStr += "Initial Catalog = AccessControl; Server=PC2012050719LFQ;";
myConStr += "Connect Timeout = 10";
SqlConnection myCon = new SqlConnection(myConStr);
myCon.Open();
SqlCommand myCom = new SqlCommand();
myCom.CommandType = CommandType.Text;
myCom.CommandText = SQLwords;
myCom.Connection = myCon;
int query = myCom.ExecuteNonQuery();
if (query == 1)
{
Console.Write("执行成功 ");
}
else
{
Console.Write("执行失败 ");
}
myCon.Close();
}
Main 是静态的
[其他解释]ExecuteSQL贴出来了,麻烦了,谢谢
[其他解释]我觉得是出在email的邮箱格式中有特殊字符‘@’
[其他解释]数据都没有'@',那些列名都是随便起的名字,主要是测试一下,自学的C#,很不系统,很多都要边查边做,仅仅是兴趣,呵呵
把
string Sqlcom = "INSERT INTO project(email) VALUES('" + insertStr + "');";
ExecuteSQL(Sqlcom);
放在判断语句外面都能正常工作
[其他解释]if应该是执行了的,注释后if里面的MessageBox.show也是执行了的
[其他解释]这个真看不出哪里有问题了 lz方便的话留个联系方式 远程帮你调试下
[其他解释]问题解决了,是数据超出长度了
[其他解释]我的QQ是447091561,这本来想做个串口通信的,对方一个字符一个字符的发,然后用ReadExisting读取为字符串,判断insertStr[0]是否E还是S,再对字符串加工插入到不同的表,这是第一个测试,结果出现这个问题,麻烦你咯!