I get a SQLException "An operand of type clash: int is incompatible with uniqueidentifier" when I try to execute the stored procedure below from C # code.
create proc sp_Get_Allfields_Account_Public @username varchar(20), @password varchar(20), @acc_num UniqueIdentifier out, @cust_name varchar(20) out, @balance float out as select @acc_num=acc_num,@cust_name=cust_name,@balance=balance from Account_Public where username=@username and password=@password
C # code is as follows
cmd = new SqlCommand("sp_Get_Allfields_Account_Public", con); cmd.CommandType = CommandType.StoredProcedure; // Add Input Parameters cmd.Parameters.AddWithValue("@username", username); cmd.Parameters.AddWithValue("@password", password); // Add output parameters cmd.Parameters.AddWithValue("@acc_num", SqlDbType.UniqueIdentifier); cmd.Parameters["@acc_num"].Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@cust_name", SqlDbType.VarChar); cmd.Parameters["@cust_name"].Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@balance", SqlDbType.Float); cmd.Parameters["@balance"].Direction = ParameterDirection.Output; cmd.ExecuteNonQuery();
Table definition
create table Account_Public ( acc_num uniqueidentifier, cust_name varchar(20), username varchar(20), password varchar(20), balance float )
source share