使用ASP.Net&中的以下代码从数据库中检索数据表时。 C#: 数据库位于我的本地计算机中。
string connectionString = @"Data Source=CCS90; Initial Catalog=Ribo; Trusted_Connection=True;";
SqlConnection myConn = new SqlConnection(connectionString);
myConn.Open();
SqlCommand sqlCommand = new SqlCommand("SELECT * FROM PUR_POHEADER WHERE POID = @POID", myConn);
sqlCommand.Parameters.Add("@POID", SqlDbType.Int);
sqlCommand.Parameters["@POID"].Value = Convert.ToInt32(request.ReferenceNo);
DataSet DS = new DataSet();
SqlDataAdapter AD = new SqlDataAdapter(sqlCommand, myConn);
//AD.Fill(DS);
AD.Fill(DS, "POTABLE"); //Error arise at this place
DataTable DT = DS.Tables[0];
myConn.Close();
当编译器到达AD.Fill(DS, "POTABLE");
行时,错误发生在Incorrect syntax near ')
。可能是什么原因?
答案 0 :(得分:1)
您可以尝试使用
AD.Fill(DS);
而不是
AD.Fill(DS,"PORTABLE");
还可以尝试:
SqlDataAdapter AD = new SqlDataAdapter(sqlCommand);
而不是
SqlDataAdapter AD = new SqlDataAdapter(insertStatement, myConn);
答案 1 :(得分:1)
您使用SqlCommand
声明创建SELECT
,然后您就不会使用它。什么是insertStatement
?当然你应该使用sqlCommand
。
答案 2 :(得分:1)
问题出在这里:
SqlDataAdapter AD = new SqlDataAdapter(insertStatement, myConn);
将其替换为:
SqlDataAdapter AD = new SqlDataAdapter(sqlCommand);
你也在使用这个超载我认为:
AD.Fill(DS, "NameOfDataTable");
然后您可以像这样访问它:
DataTable DT = DS.Tables["NameOfDataTable"];
使用0索引的插入。