带参数的存储过程到 C# 中的 DataGridView
Stored Procedure with parameters into DataGridView in C#
我是 C# 的新手,我只想将数据从 SQL 数据库提取到我在 Visual Studios 中的 C# 应用程序中。
我一直在使用多种指南来执行此操作,但找不到问题所在。如果我想在不指定参数的情况下调用 table,则该代码有效,否则它会失败。
这是我目前的代码:
string CS = "Server = server-sql1;Database=Accounts;Trusted_connection=true";
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("ASP_SLINVOICE", con);
//specify that it is a stored procedure and not a normal proc
cmd.CommandType = System.Data.CommandType.StoredProcedure;
//list the parameters required and what they should be
cmd.Parameters.AddWithValue("@varCURRENCY", "USD");
cmd.Parameters.AddWithValue("@invSTART", "0");
cmd.Parameters.AddWithValue("@invEND", "399999");
cmd.Parameters.AddWithValue("@varCURRENCY", "0");
con.Open();
cmd.ExecuteNonQuery();
using(SqlDataAdapter adap = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
adap.Fill(dt);
dataGridView1.DataSource = dt;
}
}
这是我收到的错误消息:
你定义了两次参数!
cmd.Parameters.AddWithValue("@varCURRENCY", "USD"); // #1
cmd.Parameters.AddWithValue("@invSTART", "0");
cmd.Parameters.AddWithValue("@invEND", "399999");
cmd.Parameters.AddWithValue("@varCURRENCY", "0"); // #2
删除其中一个
我是 C# 的新手,我只想将数据从 SQL 数据库提取到我在 Visual Studios 中的 C# 应用程序中。 我一直在使用多种指南来执行此操作,但找不到问题所在。如果我想在不指定参数的情况下调用 table,则该代码有效,否则它会失败。
这是我目前的代码:
string CS = "Server = server-sql1;Database=Accounts;Trusted_connection=true";
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("ASP_SLINVOICE", con);
//specify that it is a stored procedure and not a normal proc
cmd.CommandType = System.Data.CommandType.StoredProcedure;
//list the parameters required and what they should be
cmd.Parameters.AddWithValue("@varCURRENCY", "USD");
cmd.Parameters.AddWithValue("@invSTART", "0");
cmd.Parameters.AddWithValue("@invEND", "399999");
cmd.Parameters.AddWithValue("@varCURRENCY", "0");
con.Open();
cmd.ExecuteNonQuery();
using(SqlDataAdapter adap = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
adap.Fill(dt);
dataGridView1.DataSource = dt;
}
}
这是我收到的错误消息:
你定义了两次参数!
cmd.Parameters.AddWithValue("@varCURRENCY", "USD"); // #1
cmd.Parameters.AddWithValue("@invSTART", "0");
cmd.Parameters.AddWithValue("@invEND", "399999");
cmd.Parameters.AddWithValue("@varCURRENCY", "0"); // #2
删除其中一个