DataAdapter.Fill(),错误出现为“”;';附近的语法不正确)'&”;
本文关键字:不正确 语法 Fill 错误 DataAdapter | 更新日期: 2023-09-27 17:58:43
在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 ')
。原因可能是什么?
您用SELECT
语句创建了一个SqlCommand
,然后不使用它。什么是insertStatement
?当然你应该使用sqlCommand
。
您可以尝试
AD.Fill(DS);
而不是
AD.Fill(DS,"PORTABLE");
也可以尝试:
SqlDataAdapter AD = new SqlDataAdapter(sqlCommand);
而不是
SqlDataAdapter AD = new SqlDataAdapter(insertStatement, myConn);
问题就在这里:
SqlDataAdapter AD = new SqlDataAdapter(insertStatement, myConn);
替换为:
SqlDataAdapter AD = new SqlDataAdapter(sqlCommand);
而且你也在使用这个过载,我认为:
AD.Fill(DS, "NameOfDataTable");
然后你可以这样访问它:
DataTable DT = DS.Tables["NameOfDataTable"];
使用0索引的不确定性。