GRAMMAC
2015-11-26 06:52
采纳率: 100%
浏览 1.6k

C#向数据库表中插入信息。。求不吐槽命名规范

 if (textBox5.Text.Trim() == string.Empty || textBox4.Text.Trim() == string.Empty)
            {
                MessageBox.Show("请输入课程号和课程名!");
            }
            else {
                string consqlserver = "server = .;Initial Catalog=Students;integrated security=true";
                SqlConnection conn = new SqlConnection(consqlserver);
                string sql = "insert into 课程(课程号,课程名) values('" + textBox5.Text.Trim() + "','" + textBox4.Text.Trim() + "')";
                conn.Open();
                string sql1 = "select * from 课程 where 课程名 ='" + textBox4.Text + "' or 课程号 ='" + textBox5.Text + "'";
                string sql2 = "update 课程 set " +
                    " 课程号 = '" + textBox5.Text + "'," +
                    " 课程名 = '" + textBox4.Text + "', where 课程名 = '" + textBox4.Text + "' or 课程号 = '" + textBox5.Text + "'";
                SqlCommand mysqlcommand = conn.CreateCommand();
                mysqlcommand.CommandText = sql;
                SqlDataReader myread = mysqlcommand.ExecuteReader();

                if (myread.HasRows)
                {
                    DialogResult result = MessageBox.Show("已存在课程,是否在原有信息上面更新信息?","Attention!",MessageBoxButtons.OKCancel, MessageBoxIcon.Information,MessageBoxDefaultButton.Button3);
                    switch (result)
                    {
                        case DialogResult.OK:
                            conn.Close();
                            conn.Open();
                            mysqlcommand.CommandText = sql2;
                            mysqlcommand.ExecuteNonQuery();

                            conn.Close();

                            MessageBox.Show("已完成课程的更新!");
                            break;
                        case DialogResult.Cancel:
                            MessageBox.Show("未做任何修改!");
                            break;
                    }
                }
                else
                {
                    conn.Close();
                    conn.Open();
                    mysqlcommand.CommandText = sql;
                    mysqlcommand.ExecuteNonQuery();

                    conn.Close();
                    MessageBox.Show("添加该新课程成功!");
                }
            }
            this.Hide();
            Frmindex frmindex = new Frmindex();
            frmindex.ShowDialog();
        }

图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • qq_31173597 2015-11-26 07:03
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • bdmh 2015-11-26 07:04

    语法错误?你把sql打印出来,看看,不行放到查询器中看看哪里有错

    评论
    解决 无用
    打赏 举报
  • caidong9607 2015-11-26 07:10

    是不是全是中文逗号啊(,)英文逗号( , )

    评论
    解决 无用
    打赏 举报
  • 逗号达成中文状态的了,改英文状态的
    insert into 课程(课程号,课程名)
    ===>
    insert into 课程(课程号,课程名)

    而且你是insert语句,应该用ExecuteNonQuery,而不是executereader

    你要判断课程是否存在应该是sql1,不是sql
    mysqlcommand.CommandText = sql;

    ===>

    mysqlcommand.CommandText = sql1;

    评论
    解决 无用
    打赏 举报
  • wunaidepao 2015-11-26 07:17

    这已经是不知道第几次看到这样的问题了,首先,你最好下载一个windows的数据库管理软件(NavicatforMySQL这里只是举例子),然后你就用这个软件
    连接自己的数据库,然后新建一个查询,然后,在你的程序里面设个断点,获取到你程序生成的sql语句,复制到数据库管理软件的查询界面,解释,然后运行,
    看看出错没有。

    评论
    解决 无用
    打赏 举报
  • 回.到.未来 2015-11-26 08:13

    你把SQL语句打印出来放到查询分析器里执行,就知道哪里有问题

    评论
    解决 无用
    打赏 举报
  • 舞s 2015-11-28 08:45

    sql 语句 不对。。
    调试下,把语句粘贴出来

    评论
    解决 无用
    打赏 举报
  • wangjiayou695981 2015-12-04 09:58

    string sql2 = "update 课程 set " +
    " 课程号 = '" + textBox5.Text + "'," +
    " 课程名 = '" + textBox4.Text + "', where 课程名 = '" + textBox4.Text + "' or 课程号 = '" + textBox5.Text + "'";

                                        ---------------------
    
                                        set 后面 出错了
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题