public class LinkDataBase
    {
        private string strSQL;
        private string connectionString = "Persist Security Info=False;Integrated Security=true;Initial Catalog=jxcbook;Server=XIAO-1BC4349D25\\EXAMPLE";        private SqlConnection myConnection;
        private DataSet ds = new DataSet();
        private SqlDataAdapter da;
        public LinkDataBase()
        {        }        public DataSet SelectDataBase(string tempStrSQL, string tempTableName)
        {
            this.strSQL = tempStrSQL;
            this.myConnection = new SqlConnection(connectionString);
            myConnection.Open();   
           // MessageBox.Show(myConnection.State.ToString());    ///提示为Open
            this.da = new SqlDataAdapter(this.strSQL, this.myConnection);
            this.ds.Clear();           
            this.da.Fill(ds,tempTableName);  ///提示:未处理的SqlException。            return ds;
        }
    }编译能够通过,运行出错。
初学C#,不知道哪出问题了。

解决方案 »

  1.   

    加try catch看看错误
    strSQL查询分析器执行看看
      

  2.   

    这次没有去调用了,直接在登陆函数里连接数据库,代码如下。
    编译通过,出错的还是那一句。
    public partial class LoginFrm : Form
        {
            public static bool blCanLogin = false;
            public static string strUser = "";
            public static string strDepartment = "";        private DataSet dataset = new DataSet();
            private DataTable myTable;
            private DataRow myRow;
            private string sendStrSQL = "select * form 用户清单";        private string connectionString = "Persist Security Info=False;Integrated Security=true;Initial Catalog=jxcbook;Server=XIAO-1BC4349D25\\EXAMPLE";
            SqlDataAdapter adapter;        public LoginFrm()
            {
                InitializeComponent();            //  LinkDataBase link = new LinkDataBase();
                // string sendTableName = "用户清单";
                using (SqlConnection connection = new SqlConnection(this.connectionString))
                {
                    this.adapter = new SqlDataAdapter();
                    this.adapter.SelectCommand = new SqlCommand(
                    this.sendStrSQL, connection);
                    this.adapter.Fill(dataset);    //问题还是出在这一句了。                this.myTable = dataset.Tables[0];
                }
            }未处理 System.Data.SqlClient.SqlException
      Message="第 1 行: 'form' 附近有语法错误。"
      Source=".Net SqlClient Data Provider"
      ErrorCode=-2146232060
      Class=15
      LineNumber=1
      Number=170
      Procedure=""
      Server="XIAO-1BC4349D25\\EXAMPLE"
      State=1
      StackTrace:
           在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
           在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
           在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
           在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
           在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
           在 System.Data.SqlClient.SqlDataReader.get_MetaData()
           在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
           在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
           在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
           在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
           在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
           在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
           在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
           在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
           在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
           在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
           在 进销存管理系统.LoginFrm..ctor() 位置 D:\Documents and Settings\Xiao\My Documents\Visual Studio 2008\Projects\进销存管理系统\进销存管理系统\LoginFrm.cs:行号 37
           在 进销存管理系统.MainFrm.Main() 位置 D:\Documents and Settings\Xiao\My Documents\Visual Studio 2008\Projects\进销存管理系统\进销存管理系统\MainFrm.cs:行号 26
      InnerException: 
      

  3.   

    会不会是传进 public DataSet SelectDataBase(string tempStrSQL, string tempTableName)
    里的tempStrSQL(SQL)语句出错了
      

  4.   

    sendStrSQL = "select * form 用户清单";
    不会有错的,数据库里有“用户清单”这个表的。
      

  5.   


    use jxcbook
    select * from 用户清单1      系统管理             sys        M  sys       
    ls     销售部               李四       M  sys       
    ww     财务部               王五       M  sys       
    zs     采购部               张三       M  sys       
      

  6.   

    第 1 行: 'form' 附近有语法错误
    SQL语句错误!