我一直在尝试让 SqlAdapter 从 SqlCommand 获取信息,该 SqlCommand 使用存储过程从 SQL 服务器获取信息。我知道 SQL 存储过程有效并且 SqlCommand 有效(因为我在没有 SqlAdapter 的情况下单独测试了它们)。这是代码:
try
{
SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd);
SqlCommandBuilder command = new SqlCommandBuilder(dataAdapter);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
grid.DataSource = table;
}catch(Exception er){}
这段代码没有遇到任何异常,SqlCommand 似乎连接到 Sql Server 就好了。我确实分配了正确的参数并将正确的存储过程也设置到 SqlCommand 中。DataTable“表”中确实有 5 列(与 SQL 表中的数量相同)。这是asp代码:
<asp:GridView ID="grid" runat="server">
<columns>
<asp:BoundField DataField="data_1" HeaderText="data_1" sortExpression="data_1">
<asp:BoundField DataField="data_2" HeaderText="data_2" sortExpression="data_2">
<asp:BoundField DataField="data_3" HeaderText="data_3" sortExpression="data_3">
<asp:BoundField DataField="data_4" HeaderText="data_4" sortExpression="data_4">
<asp:BoundField DataField="data_5" HeaderText="data_5" sortExpression="data_5">
</columns>
</asp:GridView>
预先感谢您的帮助!