【发布时间】:2023-04-07 14:11:01
【问题描述】:
我需要用来自 db 的信息填充数据网格,我有一个 dataAccess 类和普通的 form.cs 文件。当我执行查询本身时,它返回的值很好,但由于某种原因,它在运行时没有在通过 sp 的代码中。 我在 WindowsForms 中遇到了这个错误,我不太明白我做错了什么。我将从展示我的 dataAccess 类开始
public DataTable Sp_Teste()
{
try
{
ManageConnectionStateIbml1();
SqlCommand command = new SqlCommand("SP_SELECT_DOCS_WHERE_JOBID_STATUS",
connectionIBML1);
command.CommandType = CommandType.StoredProcedure;
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
Console.WriteLine("Erro: " + ex.Message);
}
finally
{
ManageConnectionStateIbml1();
connectionIBML1.Close();
}
}
接下来是我的 Form.cs,因为我有 3 个数据网格视图,所以我用区域分隔它们。
#region DatagridViewDocumentos
dataGridViewDocumentos.DataSource = null;
dataGridViewDocumentos.Columns.Clear();
dataGridViewDocumentos.Refresh();
DataTable dt = da.Sp_Teste();
dataGridViewDocumentos.DataSource = dt;
dataGridViewDocumentos.ColumnCount = 4;
DataGridViewColumn columnCaixa = dataGridViewDocumentos.Columns[0];
columnCaixa.Width = 50;
DataGridViewColumn columnDOC = dataGridViewDocumentos.Columns[1];
columnDOC.Width = 50;
DataGridViewColumn columnID = dataGridViewDocumentos.Columns[2];
columnID.Width = 50;
DataGridViewColumn columnPROC = dataGridViewDocumentos.Columns[3];
columnPROC.Width = 50;
dataGridViewDocumentos.Columns[0].Name = "Caixa";
dataGridViewDocumentos.Columns[1].Name = "DOC";
dataGridViewDocumentos.Columns[2].Name = "ID";
dataGridViewDocumentos.Columns[3].Name = "Proc";
#endregion
希望有人能指出我的错误,谢谢。
【问题讨论】:
-
扪心自问,发生异常时会发生什么?那么返回值是多少呢?
-
@HansKesting 好的,所以我才意识到我的错误,确切地说有两个将在接下来的 10 分钟内发布答案。
-
更新问题,因为我解决了另一个问题,但现在我有另一个问题。
-
问题已编辑
-
请不要编辑问题以使现有答案无效。你问了一个问题,你得到了答案。如果您还有其他问题,请提出单独的问题。
标签: c# stored-procedures data-access