在运行我的应用程序时,当我运行存储过程时,SqlAdapter不返回任何数据

本文关键字:运行 返回 任何 数据 SqlAdapter 我的 应用程序 存储过程 | 更新日期: 2023-09-27 18:11:12

看起来它连接良好,除了返回数据或在datagridview上显示数据外,它做了所有事情。我不确定这到底有什么问题。如果我在SQL Server Management Studio中运行它,它在本地机器上运行良好。

它似乎没有正确运行这里虽然,它只是一个按钮,我点击,但没有返回给我。

SqlConnection conn = new SqlConnection(connectionstring);
SqlCommand StoredProcedureCommand = new SqlCommand("storedprocedure", conn);
StoredProcedureCommand.CommandType = CommandType.StoredProcedure;
SqlParameter myParam1 = StoredProcedureCommand.Parameters.Add("@p1", SqlDbType.VarChar, 20);
myParam1.Value = "Arg";
SqlParameter myParam2 = StoredProcedureCommand.Parameters.Add("@p2", SqlDbType.VarChar, 300);
myParam2.Value = "Gra";
try
{
    conn.Open();
    MessageBox.Show("Database Connection Success");
}
catch (Exception conerr)
{
    MessageBox.Show("Database Connection Failed");
}
try
{
    StoredProcedureCommand.ExecuteNonQuery();
    MessageBox.Show("Running stored procedure succeeded");
}
catch (Exception proerr)
{
    MessageBox.Show("Running stored procedure failed");
}
try
{
    using (SqlDataAdapter adap = new SqlDataAdapter(StoredProcedureCommand))
    {
        DataTable dt = new DataTable();
        int rowCount = dt.Rows.Count;
        adap.Fill(dt);
        dataGridView1.DataSource = dt;
        MessageBox.Show("Data returned fine" + " This many rows were returned" + rowCount.ToString());
    }
}
catch (Exception erradapt)
{
    MessageBox.Show("Error retrieving data to grid" +  erradapt.ToString());
}
try
{  
    conn.Close();
    MessageBox.Show("Closing database connection");
}
catch (Exception errclose)
{
    MessageBox.Show("Error closing database connection");
}

在运行我的应用程序时,当我运行存储过程时,SqlAdapter不返回任何数据

我刚刚注意到您的rowCount变量将始终为0,因为它是在dt填充之前分配的。如果对任何类型的循环使用rowCount,则循环将立即退出。而你的信息总是会显示"This many rows came back 0"。

顺便说一句,我在我的应用程序中使用了一段类似的代码,它确实有效。

感谢所有的帮助问题是回到存储过程后的连接字符串,我注意到它

谢谢大家的帮助!!

相关文章: