private void BindData()
        {
            string con = "  Data Source=localhost; Initial Catalog=AdventureWorks ; Integrated Security=SSPI;";
            DataSet ret = new DataSet();//创建数据集实例            using (SqlConnection connection = new SqlConnection(con))
            {
                string queryString = "select * from  Sales.SalesOrderHeader where SalesOrderID<@SalesOrderID";
                SqlDataAdapter adapter = new SqlDataAdapter();
                SqlCommand command;
                command = new SqlCommand(queryString, connection);
                command.CommandType = CommandType.Text;
                adapter.SelectCommand = command;
                adapter.SelectCommand.Parameters.Add("@SalesOrderID",SqlDbType.Int,4).Value = 43870;                adapter.Fill(ret);
                    
                } 
            }
            bindingSource1.DataSource = ret.Tables[0];
        }
一直在报“未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 System.Data.dll 中”,我这段代码是看着书上写的,可是在我这里老是报错。SQL实例AdventureWorks我也安装了啊。

解决方案 »

  1.   

     string con = "  Data Source=localhost; Initial Catalog=AdventureWorks ; Integrated Security=SSPI;"; 
    为数据库连接语句,你把用户名和数据库名,密码都写对着吗?
      

  2.   

    可是在书上和MSDN得示例上,都不需要的,应该可以通过windows验证方式连接的吧。我的SQL 2005就是这么设置的啊。
      

  3.   

    string queryString = "select * from  Sales.SalesOrderHeader where SalesOrderID <@SalesOrderID"; 我想知道,有这么带参数的么?
      

  4.   

    在“adapter.Fill(ret); ”这句上停下的。
      

  5.   

    adapter.SelectCommand.Parameters.Add("@SalesOrderID",SqlDbType.Int,4).Value = 43870;看清楚你这行代码有什么问题
      

  6.   

    在《Visual C# 2005+SQL Sever 2005数据库与网络开发》这本书上的代码。
    它的注释说adapter.SelectCommand.Parameters.Add("@SalesOrderID",SqlDbType.Int,4).Value = 43870; 是添加查询命令中的参数值,在书中三个示例都出现了这句话。
    一般来讲应该是可以运行的。
      

  7.   

    我拿你代码测试了下错误就在你的sql语句上from  前面哪个字符不对你太牛了
      

  8.   

    string queryString = "select * from  Sales.SalesOrderHeader where SalesOrderID < @SalesOrderID"; 
    加个空格
      

  9.   

    把这条语句该下
    string con = "  Data Source=localhost; Initial Catalog=AdventureWorks ; Integrated Security=SSPI;";
    修改后:
     string con = @"  Data Source=localhost; Initial Catalog=AdventureWorks ; Integrated Security=SSPI;";应该要用个@符号转义的……
      

  10.   

    private string OleDbConnectionString = "Provider=SQLOLEDB;data Source=datasource;database=database;user id=userid;pwd=pwd";
      

  11.   

    上面那个程序代码本身没有问题,是我因为初学C#,所以在设置控件DataGridView的时候可能是出了点问题,所以造成了后面的错误。
    我后来重新建了一个工程,把代码粘贴进去,可以正常运行。
    还是谢谢各位的热心帮助!