Thursday 15 May 2014

c# - Retrieving Issue regarding stored procedures data type -



c# - Retrieving Issue regarding stored procedures data type -

i have written stored procedure

then have written c# code

ds.tables[0].rows[0][0].tostring().split(',')

ds dataset contains stored procedure retrieved above importdata (column sqlqueryname))

the question is: used string array strmendetory , need find out info type of parameter of stored procedure strmendetory. when implement code same returns system.string usual (even contains datetime).

please give me suggestion on same.

stored procedure code:

create procedure adddepartments @departmentname varchar(100), @departmentcode varchar(100), @companylocationid int, @details varchar(100), @flag bit, @createddatetime datetime, @markdeleted bit, @accessgroupmasterid int begin insert departments(departmentname, departmentcode, companylocationid, details, flag, createddatetime, markdeleted, accessgroupmasterid) values(@departmentname, @departmentcode, @companylocationid, @details, @flag, @createddatetime, @markdeleted, @accessgroupmasterid) end go insert importdata(importitemname, referencetablename, importfilename, sqlquerytypeid, sqlqueryname, markdeleted) values('department', 'departments', 'importdepartments.xls', 2, 'adddepartments, @departmentname, @departmentcode, @companylocationid, @details, @flag, @createddatetime, @markdeleted, @accessgroupmasterid', 0) go

c# code:

string[] strmendetory = ds.tables[0].rows[0][0].tostring().split(','); string columnvalue="mynewvalutoinsertinprocedure"; (int columcounter = 1; columcounter < strmendetory.count(); columcounter++) { cmd.parameters.addwithvalue(strmendetory[columcounter], columnvalue); }

use sqlparameter, can specify sql datatype. here's code illustration :

sqlparameter[] param = { new sqlparameter("@param1", sqldbtype.varchar, 100), new sqlparameter("@param2", sqldbtype.int), new sqlparameter("@param3", sqldbtype.datetime) }; //@param1, @param2, @param3 should match parameters name in stored procedure param[0].value = "test"; //pass value parameter here param[1].value = 2; param[2].value = datetime.now; sqlcommand sqlcmd = new sqlcommand(); foreach (sqlparameter x in param) { sqlcmd.parameters.add(x); }

c# sql-server-2008 stored-procedures

No comments:

Post a Comment