问题是这样的:
存储过程如下
ALTER PROCEDURE [dbo].[AddUser]
(
@UserName varchar(50),
@UserPwd varchar(100)
)
AS
if not exists(select * from Users where UserName=@UserName)
BEGIN
insert into Users(UserName,UserPwd) values(@UserName,@UserPwd)
SELECT 'Y'
RETURN
END
else
BEGIN
SELECT 'N'
return
END我现在 要在后台程序中得到'Y'和‘N’的值该怎么办
要如何写代码,各位大虾教我啊
存储过程如下
ALTER PROCEDURE [dbo].[AddUser]
(
@UserName varchar(50),
@UserPwd varchar(100)
)
AS
if not exists(select * from Users where UserName=@UserName)
BEGIN
insert into Users(UserName,UserPwd) values(@UserName,@UserPwd)
SELECT 'Y'
RETURN
END
else
BEGIN
SELECT 'N'
return
END我现在 要在后台程序中得到'Y'和‘N’的值该怎么办
要如何写代码,各位大虾教我啊
(
@UserName varchar(50),
@UserPwd varchar(100),
@FLAG varchar(100) OUTPUT
)
AS
if not exists(select * from UserS where UserName=@UserName)
BEGIN
insert into Users(UserName,UserPwd) values(@UserName,@UserPwd)
SET @FLAG= 'Y'
END
else
BEGIN
SET @FLAG='N'
END DECLARE @UserName varchar(50)
DECLARE @UserPwd varchar(100)
DECLARE @FLAG varchar(100) EXEC [dbo].[AddUser] @UserName='A',@UserPwd='123',@FLAG OUTPUTSELECT @FLAG
ADOQuery4.SQL.Clear;
ADOQuery4.SQL.Add('exec AddUser '............);
ADOQuery4.SQL.Add('');
ADOQuery4.Prepared;
ADOQuery4.Open;
while not ADOQuery4.Eof do
begin
if ADOQuery4.Fields[0].AsString='N' then
begin
............但是在c#中该怎么来做啊!肯定应该有方法的啊!谁晓得啊!
System.Data.SqlClient.SqlCommand cmd....
....
Convert.ToString(cmd.ExecuteScalar()); //Y or N
其实你的过程已返回一张表,只是表里存在一行一列,你调过完过程后,或者说你填充到ds里了.那么取值string ResultStr=ds.Table[0].Rows[0][0].ToString();
ResultStr就是你要的值
但是还有一节就是那为宝马老兄说的该怎么填充dataset呢
这个我还是没想到啊!
请指教啊!
就是通过数据适配器来填充
如下:例子
public static DataTable CommQuery(int querytype,string selecttext)
{
SqlDataAdapter sda = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("lt_query", GetConn());
sda.SelectCommand = cmd;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@querytype", System.Data.SqlDbType.Int).Value = querytype;
cmd.Parameters.Add("@selecttext", System.Data.SqlDbType.NVarChar,4000).Value = selecttext;
DataSet ds = new DataSet();
sda.Fill(ds);//填充数据集
GetConn().Close();
DataTable dt = ds.Tables[0];//返回数据表
return dt;
}你的问题8楼的方式取数可取.问题解决了就行.