Asp.net &引用;无效列";从SqlDataReader填充GridView时出错
我试图从数据库中读取数据,然后在绑定到GridView之前填充datatable 当我运行应用程序时,它会生成以下EROR:Asp.net &引用;无效列";从SqlDataReader填充GridView时出错,asp.net,gridview,webforms,Asp.net,Gridview,Webforms,我试图从数据库中读取数据,然后在绑定到GridView之前填充datatable 当我运行应用程序时,它会生成以下EROR: Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'PrescriptionNumber'. Invalid column name 'PrescriptionNumber'. Invalid column name 'DrugCode'. Invalid column
Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'PrescriptionNumber'.
Invalid column name 'PrescriptionNumber'.
Invalid column name 'DrugCode'.
Invalid column name 'PrescriptionDate'.
Invalid column name 'PaymentStatus'.
Invalid column name 'AmountPaidFrom'.
Source Error:
Line 34: cmd.Connection = con;
Line 35: con.Open();
Line 36: using (SqlDataReader reader = cmd.ExecuteReader())
Line 37: {
Line 38: if (reader.HasRows)
以下是标记:
<asp:GridView ID="grdpayment" runat="server" Width="876px"
AutoGenerateColumns="False" CellPadding="4" GridLines="Horizontal"
BackColor="White" BorderColor="#336666" BorderStyle="Double"
BorderWidth="3px" style="margin-right: 288px"
onselectedindexchanged="grdpayment_SelectedIndexChanged">
<FooterStyle BackColor="White" ForeColor="#333333" />
<HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="White" ForeColor="#333333" />
<SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F7F7F7" />
<SortedAscendingHeaderStyle BackColor="#487575" />
<SortedDescendingCellStyle BackColor="#E5E5E5" />
<SortedDescendingHeaderStyle BackColor="#275353" />
</asp:GridView>
)在[小学]
从数据中读取数据的C#方法:
public void makepayment(string prescriptionValue)
{
DataTable storedata = new DataTable();
string _connection = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
SqlConnection con = new SqlConnection(_connection);
string sqlquery =
"Select PrescriptionNumber,DrugCode,PrescriptionDate,PaymentStatus,AmountPaid"
+ "From Payment where PrescriptionNumber='" + prescriptionValue + "'";
SqlCommand cmd = new SqlCommand(sqlquery,con);
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
adapt.Fill(storedata);
grdpayment.DataSource = storedata;
grdpayment.DataBind();
}
我这样调用该方法:
protected void btnsearchprescripitionnum_Click(object sender, EventArgs e)
{
if (txtprescriptionnum.Text == "")
{
checkval.Text = "Enter PriscriptionNumber";
}
else
{
makepayment(txtprescriptionnum.Text.ToString());
}
}
该错误意味着错误消息中列出的列(“处方号”、“处方号”、“药物代码”、“处方日期”、“付款状态”和“AmountPaidFrom”)实际上不存在于所查询的表中
您需要验证您的查询是否指向正确的表,查询中是否没有输入错误,以及您试图查询的表中是否确实存在列。此错误表示错误消息中列出的列('PrescriptionNumber'、'PrescriptionNumber'、'DrugCode'、'PrescriptionDate'、'PaymentStatus'和'AmountPaidFrom')实际上不存在于被查询的表中
您需要验证您的查询是否指向正确的表,查询中是否没有输入错误,以及您试图查询的表中是否确实存在列。此错误表示错误消息中列出的列('PrescriptionNumber'、'PrescriptionNumber'、'DrugCode'、'PrescriptionDate'、'PaymentStatus'和'AmountPaidFrom')实际上不存在于被查询的表中
您需要验证您的查询是否指向正确的表,查询中是否没有输入错误,以及您试图查询的表中是否确实存在列。此错误表示错误消息中列出的列('PrescriptionNumber'、'PrescriptionNumber'、'DrugCode'、'PrescriptionDate'、'PaymentStatus'和'AmountPaidFrom')实际上不存在于被查询的表中
您需要验证您的查询是否指向正确的表,查询中是否没有输入错误,以及您试图查询的表中是否确实存在列。您传递给SqlCommand的查询似乎指定了表中不存在的字段。您传递给SqlCommand的查询似乎是这样的指定表中不存在的字段。看起来,您传递给SqlCommand的查询指定了表中不存在的字段。看起来,您传递给SqlCommand的查询指定了表中不存在的字段。@jadrnel27,该表以正确的columns@jadrnel27,我已编辑我的问题。添加e表和方法的全部细节。@kombo哇,这太奇怪了!此时我唯一能想到的就是你的连接字符串(“ApplicationServices”)没有将您指向正确的数据库。您是否有多个此数据库/表的实例/版本?例如,生产、QA和测试。或者某个地方的付款表的旧版本不完整?但是,@kombo,我没有从错误消息中看到代码(
使用(SqlDataReader=cmd.ExecuteReader())
等等)。从哪里调用它?我想相信这就是问题所在:SqlCommand cmd=new SqlCommand(sqlquery,con)@jadrnel27,该表肯定包含正确的columns@jadrnel27,我已经编辑了我的问题。添加表和方法的全部细节。@kombo哇,这太奇怪了!此时我唯一能想到的就是你的连接字符串(“ApplicationServices”)没有将您指向正确的数据库。您是否有多个此数据库/表的实例/版本?例如,生产、QA和测试。或者某个地方的付款表的旧版本不完整?但是,@kombo,我没有从错误消息中看到代码(使用(SqlDataReader=cmd.ExecuteReader())
等等)。从哪里调用它?我想相信这就是问题所在:SqlCommand cmd=new SqlCommand(sqlquery,con)@jadrnel27,该表肯定包含正确的columns@jadrnel27,我已经编辑了我的问题。添加表和方法的全部细节。@kombo哇,这太奇怪了!此时我唯一能想到的就是你的连接字符串(“ApplicationServices”)没有将您指向正确的数据库。您是否有多个此数据库/表的实例/版本?例如,生产、QA和测试。或者某个地方的付款表的旧版本不完整?但是,@kombo,我没有从错误消息中看到代码(使用(SqlDataReader=cmd.ExecuteReader())
等等)。从哪里调用它?我想相信这就是问题所在:SqlCommand cmd=new SqlCommand(sqlquery,con)@jadrnel27,该表肯定包含正确的columns@jadrnel27,我已经编辑了我的问题。添加表和方法的全部细节。@kombo哇,这太奇怪了!此时我唯一能想到的就是你的连接字符串(“ApplicationServices”)没有将您指向正确的数据库。您是否有多个此数据库/表的实例/版本?例如,生产、QA和测试。或者某个地方的付款表的旧版本不完整?但是,@kombo,我没有从错误消息中看到代码(使用(SqlDataReader=cmd.ExecuteReader())
等等)。从哪里调用它?我想相信这就是问题所在:SqlCommand cmd=newsqlcommand(sqlquery,con);
protected void btnsearchprescripitionnum_Click(object sender, EventArgs e)
{
if (txtprescriptionnum.Text == "")
{
checkval.Text = "Enter PriscriptionNumber";
}
else
{
makepayment(txtprescriptionnum.Text.ToString());
}
}