关于调用SQL存储过程

来源:百度知道 编辑:UC知道 时间:2024/06/16 23:13:36
这是我存储过程的代码:
ALTER PROCEDURE Pro_Login
@LogError nvarchar(15) output,
@LoginId nvarchar(15),
@LoginPwd nvarchar(15)
AS
set @LogError = 'login success'
………………(省略部分无意义的代码)
其中@LogError这个参数是个输出参数,我想通过调用这个存储过程来得到这个参数的值,于是乎我写了一下的类:
public string ExecuteScalar()
{
using (SqlConnection con = new SqlConnection(ConnectionString))
{
string r = null;
try
{
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Pro_Login";
SqlParameter par = cmd.Parameters.Add("@LoginId", SqlDbType.NVarChar);
par.Direction = ParameterDirection.Input;
par.Value = "hhh";
SqlParameter par1 = cmd.Parameters.Add("@LoginPwd", SqlDbType.NVarChar);

存储过程有返回值么!
返回值也不是这的写了呀!
你的存储过程在SQL执行的时候有问题么!
没问题的话!这个提示就是你传的值有问题!
我这有个我写的执行调用的代码!
给你做个参考!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace ss
{
class u1
{
SqlConnection con;
SqlCommand cmd;
u1()
{
string conn = "Data Source=.;Initial Catalog=host;User ID=sa;Password=sa";
con = new SqlConnection(conn);
con.Open();
}
public void pr_cyxf(string us, string cy, int num)
{
cmd = new SqlCommand("pr_cyxf", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@us_idd",SqlDbType.VarChar,5,"us_idd");
cmd.Parameters["@us_idd"].Value = us;<