【发布时间】:2016-08-26 07:49:45
【问题描述】:
我需要将存储过程中的 select 语句的结果显示到文本框中,但我不知道该怎么做。 select 语句不使用 WHERE 子句。存储过程去
CREATE PROCEDURE NewCustomer
AS
BEGIN
SELECT MAX(ID) + 1 FROM Database
END
这是我尝试过的
protected void btnNew_Click(object sender, EventArgs e)
{
Clear();
int num;
try
{
using (SqlCommand command = new SqlCommand("NewCustomer"))
{
command.Connection = conn;
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@CustID", SqlDbType.Int).Value = Int32.TryParse(txtCID.Text, out num); // Use tryparse if needed
conn.Open();
txtCID.Text = (string)command.ExecuteScalar();
}
}
catch (Exception ex)
{
lblMessage.Text = ex.Message;
}
}
它给了我一个“Procedure NewCID 没有提供参数和参数”。错误
【问题讨论】:
-
这是展示您的场景的示例程序,还是您真的将其用作程序?
-
错误出现在哪一行?我猜问题是您将
txtCID.Text分配给SqlDbType.Int类型参数的Value属性。 -
@Prdp 我以它为例,但我已经编辑它以显示我实际使用的内容。
-
@OnkelToob 那么我只需要将 txtCID 转换为 Int32 吗?
-
@Anon 是的,这至少是我的第一个猜测。但我看到你已经编辑了你的问题,所以问题似乎已经转移到其他问题上......