首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#安插时程序自动退出

2012-12-20 
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方法中。
[其他解释]
引用:
引用:我觉得是出在email的邮箱格式中有特殊字符‘@’

数据都没有'@',那些列名都是随便起的名字,主要是测试一下,自学的C#,很不系统,很多都要边查边做,仅仅是兴趣,呵呵

string Sqlcom = "INSERT INTO project(email) VALUES('" + insertStr + "');";
……

如果是这样的话 那就是判断里面有问题  根本没有执行if里的内容导致没有任何报错就退出了程序
lz可以在if处加个断点跟踪一下
[其他解释]
你的字符串里面有特殊字符。你是不是用的sqlserver.
[其他解释]
lz的project表里面的字段都是可以为空的么? 如果是不为空的话 这样插入数据是会有问题的吧
------其他解决方案--------------------


引用:
lz的project表里面的字段都是可以为空的么? 如果是不为空的话 这样插入数据是会有问题的吧

可以为空,现在这样进行简单的测试,结果出现这种问题
[其他解释]
引用:
你的字符串里面有特殊字符。你是不是用的sqlserver.

是SqlSever,字符都是些数字或者字母
[其他解释]
引用:
引用:lz的project表里面的字段都是可以为空的么? 如果是不为空的话 这样插入数据是会有问题的吧
可以为空,现在这样进行简单的测试,结果出现这种问题

可以贴一下ExecuteSQL方法的代码么?
[其他解释]
引用:
引用:引用:lz的project表里面的字段都是可以为空的么? 如果是不为空的话 这样插入数据是会有问题的吧
可以为空,现在这样进行简单的测试,结果出现这种问题
可以贴一下ExecuteSQL方法的代码么?

感谢,我只有明天贴代码了,不好意思,今天不在了
[其他解释]
引用:
引用:引用:引用:lz的project表里面的字段都是可以为空的么? 如果是不为空的话 这样插入数据是会有问题的吧
可以为空,现在这样进行简单的测试,结果出现这种问题
可以贴一下ExecuteSQL方法的代码么?
感谢,我只有明天贴代码了,不好意……

没关系 大家一起交流嘛
[其他解释]
引用:
引用:引用:引用:引用:lz的project表里面的字段都是可以为空的么? 如果是不为空的话 这样插入数据是会有问题的吧
可以为空,现在这样进行简单的测试,结果出现这种问题
可以贴一下ExecuteSQ……
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方法中。
ExecuteSQL贴出来了,麻烦了,谢谢
[其他解释]
我觉得是出在email的邮箱格式中有特殊字符‘@’
[其他解释]
引用:
我觉得是出在email的邮箱格式中有特殊字符‘@’


数据都没有'@',那些列名都是随便起的名字,主要是测试一下,自学的C#,很不系统,很多都要边查边做,仅仅是兴趣,呵呵

string Sqlcom = "INSERT INTO project(email) VALUES('" + insertStr + "');";
                    ExecuteSQL(Sqlcom);
放在判断语句外面都能正常工作
[其他解释]
引用:
引用:引用:我觉得是出在email的邮箱格式中有特殊字符‘@’

数据都没有'@',那些列名都是随便起的名字,主要是测试一下,自学的C#,很不系统,很多都要边查边做,仅仅是兴趣,呵呵

string Sqlcom = "INSERT INTO project(email) VALUE……

if应该是执行了的,注释后if里面的MessageBox.show也是执行了的
[其他解释]
引用:
引用:引用:引用:我觉得是出在email的邮箱格式中有特殊字符‘@’

数据都没有'@',那些列名都是随便起的名字,主要是测试一下,自学的C#,很不系统,很多都要边查边做,仅仅是兴趣,呵呵

string Sqlcom = "INSERT IN……

这个真看不出哪里有问题了 lz方便的话留个联系方式 远程帮你调试下
[其他解释]
问题解决了,是数据超出长度了
[其他解释]
引用:
引用:引用:引用:引用:我觉得是出在email的邮箱格式中有特殊字符‘@’

数据都没有'@',那些列名都是随便起的名字,主要是测试一下,自学的C#,很不系统,很多都要边查边做,仅仅是兴趣,呵呵

……

我的QQ是447091561,这本来想做个串口通信的,对方一个字符一个字符的发,然后用ReadExisting读取为字符串,判断insertStr[0]是否E还是S,再对字符串加工插入到不同的表,这是第一个测试,结果出现这个问题,麻烦你咯!

热点排行