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();
}
http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html
语法错误?你把sql打印出来,看看,不行放到查询器中看看哪里有错
是不是全是中文逗号啊(,)英文逗号( , )
逗号达成中文状态的了,改英文状态的
insert into 课程(课程号,课程名)
===>
insert into 课程(课程号,课程名)
而且你是insert语句,应该用ExecuteNonQuery,而不是executereader
你要判断课程是否存在应该是sql1,不是sql
mysqlcommand.CommandText = sql;
===>
mysqlcommand.CommandText = sql1;
这已经是不知道第几次看到这样的问题了,首先,你最好下载一个windows的数据库管理软件(NavicatforMySQL这里只是举例子),然后你就用这个软件
连接自己的数据库,然后新建一个查询,然后,在你的程序里面设个断点,获取到你程序生成的sql语句,复制到数据库管理软件的查询界面,解释,然后运行,
看看出错没有。
你把SQL语句打印出来放到查询分析器里执行,就知道哪里有问题
sql 语句 不对。。
调试下,把语句粘贴出来
string sql2 = "update 课程 set " +
" 课程号 = '" + textBox5.Text + "'," +
" 课程名 = '" + textBox4.Text + "', where 课程名 = '" + textBox4.Text + "' or 课程号 = '" + textBox5.Text + "'";
---------------------
set 后面 出错了