DataAdapter.Fill(),错误出现在"'''"""

时间:2014-04-16 05:42:21

标签: c# asp.net sql-server database-connection

使用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 ')。可能是什么原因?

3 个答案:

答案 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索引的插入。