排错提示上说在第四个 cmd.ExecuteNonQuery()的地方,' ' 附近有语法错误。我这是哪里错了啊?我找了很久都没找到!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;namespace dqlcommand
{
    class Program
    {
        static void Main(string[] args)
        {
            
            UseSqlCommand();        }
        static void UseSqlCommand()
        {
            string conStr = "Data Source=WWW-1B9050EEE04\\SQLEXPRESS;Initial Catalog=Students;Integrated Security=True";
            SqlConnection con = new SqlConnection(conStr);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            con.Open();            cmd.CommandText = "INSERT INTO Major VALUES('计算机科学与技术','微积分(一)')";
            cmd.ExecuteNonQuery();
            cmd.CommandText = "INSERT INTO Major VALUES('计算机科学与技术','微积分(二)')";
            cmd.ExecuteNonQuery();
            cmd.CommandText = "INSERT INTO Major VALUES('计算机软件','java程序设计')";
            cmd.ExecuteNonQuery();            cmd.CommandText = "SELECT * FROM Major";
            SqlDataReader dr = cmd.ExecuteReader();
            System.Console.WriteLine("\nMajor表的数据记录(1)");
            while(dr.Read())
            {
                System.Console.WriteLine();
                for(int index = 0;index< dr.FieldCount;index++)
                {
                    System.Console.WriteLine("  {0}",dr[index].ToString());
                }
            }
            dr.Close();            cmd.CommandText = "UPDATE Major SET 专业 = '计算机运用软件' WHERE 专业 = '计算机软件'";
            cmd.ExecuteNonQuery();
            cmd.CommandText = "SELECT * FROM Major";
            dr = cmd.ExecuteReader();
            System.Console.WriteLine("\nMajor 表的数据记录(2)");
            while(dr.Read())
            {
                System.Console.WriteLine();
                for(int index=0;index< dr.FieldCount;index++)
                {
                    System.Console.WriteLine("    {0}",dr[index].ToString());
                }
            }
            dr.Close();            con.Close();
        }
    }
}

解决方案 »

  1.   

    sql语句出错,括号引号都应该使用转义字符表示。
      

  2.   

    断点调试一下,估计是你的CommandText 有问题
      

  3.   

    sql语句错了,提取出来到查询分析器中运行一下,就知道错误在那里了
      

  4.   

    表Major 只有两列吗?
    insert into Major(a,b) VALUES('计算机科学与技术','微积分(一)')
      

  5.   

    第四个ExecuteNoNQuery处应该是半角和全角的问题试试下面的
    update major set 专业 = N'计算机运用软件' where 专业=N'计算机软件'
      

  6.   


    同意,在ExecuteNonQuery的地方加断点,把监视的sql放到查询分析器中执行下就知道问题了~
      

  7.   

    对于SQL Server 2000,查询分析器器是一个单独的程序,单击开始-程序-SQL Server-查询分析器,输入用户名、密码,选择数据库,然后输入查询,运行。
    对于SQL Server 2005 2008,查询分析器被整合到Management Studio里面,打开,登录,选择数据库,新建查询,运行。