Here is the code for executing stored procedure ExecuteSP() [no
prob. with that] , and object that sets all its parameters in other
functions and the stored procedure. I think it has something to do
with db datatypes since this is the first time, i am working with
databases and not really much of an expert.
How can I rectify it? One thing more...... Should I be passing a
value to type bit in sql server as 0 or '0'..... '0' is for character
i guess
private static Object ExecuteSP(Objec t[] argArray)
{
SqlCommand sqlcmd = new SqlCommand();
SqlConnection sqlconnection1 = new
SqlConnection(c onnectionString );
sqlcmd.Connecti on = sqlconnection1;
Object returnValue;
int paramCount = (int)argArray[1]; // the number of
parameters
sqlcmd.CommandT ext = (string)argArra y[2]; // the whole
query
sqlcmd.CommandT ype =
CommandType.Sto redProcedure;
for (int j = 0, i = 3; j < paramCount; i += 4, j++)
{
SqlParameter myPrm = new
SqlParameter((s tring)argArray[i],
(SqlDbType)argA rray[i + 1],
(int)argArray[i + 2]);
myPrm.Value = argArray[i + 3];
sqlcmd.Paramete rs.Add(myPrm);
}
sqlconnection1. Open();
if ((int)argArray[0] == 0)
returnValue = sqlcmd.ExecuteN onQuery(); //
returns the number of rows affected
if ((int)argArray[0] == 1)
returnValue = sqlcmd.ExecuteS calar(); //
returns a single value
else
returnValue =
sqlcmd.ExecuteR eader(CommandBe havior.CloseCon nection); //returns
multiple values
return returnValue;
}
static public bool InsertTuple(str ing Password,DateTi me
PassLastChanged ,string Firstname,strin g Lastname,string telno,
DateTime dob,string Address,string
Accno,string Pincode,string Username,
string Secques,string Secans,string
img1,string img2,string img3)
{
object[] prms = new object[63];
prms[0] = 1;
prms[1] = 15;
prms[2] = "REGISTRATI ON";
prms[3] = "@PASSWORD" ;
prms[4] = SqlDbType.VarCh ar;
prms[5] = 30;
prms[6] = Password;
prms[7] = "@PASSLASTCHANG ED";
prms[8] = SqlDbType.DateT ime;
prms[9] = 30;
prms[10] = PassLastChanged ;
prms[11] = "@FIRSTNAME ";
prms[12] = SqlDbType.VarCh ar;
prms[13] = 50;
prms[14] = Firstname;
prms[15] = "@LASTNAME" ;
prms[16] = SqlDbType.VarCh ar;
prms[17] = 50;
prms[18] = Lastname;
prms[19] = "@TELNO";
prms[20] = SqlDbType.VarCh ar;
prms[21] = 10;
prms[22] = telno;
prms[23] = "@DOB";
prms[24] = SqlDbType.DateT ime;
prms[25] = 50;
prms[26] = dob;
prms[27] = "@ADDRESS";
prms[28] = SqlDbType.VarCh ar;
prms[29] = 50;
prms[30] = Address;
prms[31] = "@ACCNO";
prms[32] = SqlDbType.VarCh ar;
prms[33] = 4;
prms[34] = Accno;
prms[35] = "@PINCODE";
prms[36] = SqlDbType.VarCh ar;
prms[37] = 4;
prms[38] = Pincode;
prms[39] = "@USERNAME" ;
prms[40] = SqlDbType.VarCh ar;
prms[41] = 30;
prms[42] = Username;
prms[43] = "@SECQUES";
prms[44] = SqlDbType.VarCh ar;
prms[45] = 50;
prms[46] = Secques;
prms[47] = "@SECANS";
prms[48] = SqlDbType.VarCh ar;
prms[49] = 50;
prms[50] = Secans;
prms[51] = "@Image1";
prms[52] = SqlDbType.Image ;
prms[53] = 100;
prms[54] = img1;
prms[55] = "@Image2";
prms[56] = SqlDbType.Image ;
prms[57] = 100;
prms[58] = img2;
prms[59] = "@Image3";
prms[60] = SqlDbType.Image ;
prms[61] = 50;
prms[62] = img3;
bool myvar = false;
Object returnValue = ExecuteSP(prms) ;
if (returnValue == null)
{
myvar = false;
}
else
{
myvar = (bool)returnVal ue;
}
return myvar;
}
ALTER PROCEDURE dbo.REGISTRATIO N
(
@PASSWORD VARCHAR(30),
@PASSLASTCHANGE D DATETIME,
@FIRSTNAME VARCHAR(50),
@LASTNAME VARCHAR(50),
@TELNO VARCHAR(10),
@DOB DATETIME,
@ADDRESS VARCHAR(100),
@ACCNO VARCHAR(10),
@PINCODE VARCHAR(4),
@USERNAME VARCHAR(30),
@SECQUES VARCHAR(50),
@SECANS VARCHAR(50),
@Image1 Image,
@Image2 Image,
@Image3 Image
)
AS
INSERT INTO
CUSTOMER(CUSTOM ER_ID,IS_LOGGED ,PASSWORD,PASS_ LASTCHANGED,LOC KED,CUST_FIRST_ NAME,CUST_LAST_ NAME,
CUST_TELNO,CUST _DOB,CUST_ADDRE SS,CUST_ACC#,CU ST_PINCODE,CUST _USERNAME,CUST_ SECQUES,CUST_SE CANS,
Image1,Image2,I mage3)
VALUES(NEWID(), 0,@PASSWORD,@PA SSLASTCHANGED,
0,@FIRSTNAME,@L ASTNAME,@TELNO, @DOB,@ADDRESS,@ ACCNO,@PINCODE,
@USERNAME,@SECQ UES,@SECANS,@Im age1,@Image2,@I mage3)
RETURN