c# - Return on my function doesn't work if using sql -


i populating text box returned value of function, doesn't work if run sql code inside function. can remove sql related code , works. i'm stumped.

and "doesn't work" mean text box never gets populated anything. remains blank.

thanks

public string createresident() {     string result = "hmm";     sqlconnection sqlconnection = new sqlconnection("server=dellxps\\sqlexpress; initial catalog=warren_seindatasystems; integrated security=true;");     sqlcommand cmd = new sqlcommand();      cmd.commandtext = "insert [dbo].[newusers]([residentaccountnumber],[residentname],[residentaddress],[numberofvisitors],[temppass],[role])values(@residentaccountnumber,@residentname,@residentaddress,@numberofvisitors,(select cast((abs(checksum(newid()))%10) varchar(1)) + char(ascii('a')+(abs(checksum(newid()))%25)) + char(ascii('a')+(abs(checksum(newid()))%25)) + left(newid(),5)),'resident')";     cmd.commandtype = commandtype.text;     cmd.connection = sqlconnection;      sqlparameter residentaccountnumber = new sqlparameter();     residentaccountnumber.parametername = "@residentaccountnumber";     residentaccountnumber.value = txtboxresidenetaccountnumber.text.trim();     cmd.parameters.add(residentaccountnumber);     sqlparameter residentname = new sqlparameter();     residentname.parametername = "@residentname";     residentname.value = txtboxresidentname.text.trim();     cmd.parameters.add(residentname);     sqlparameter residentaddress = new sqlparameter();     residentaddress.parametername = "@residentaddress";     residentaddress.value = txtboxresidentaddress.text.trim();     cmd.parameters.add(residentaddress);     sqlparameter numberofvisitors = new sqlparameter();     numberofvisitors.parametername = "@numberofvisitors";     numberofvisitors.value = txtboxnumberofvisitors.text.trim();     cmd.parameters.add(numberofvisitors);       try     {         sqlconnection.open();         result = (string)cmd.executescalar();         sqlconnection.close();     }     catch (exception ex)     {         result = ex.message;     }      return result; }  protected void btncreateresident_click(object sender, eventargs e) {     txtboxtemppassword.text = createresident(); } 

your sql wrong , have lot of problems want show way make code more readable. format this:

cmd.commandtext = @"insert [dbo].[newusers] ([residentaccountnumber],[residentname],[residentaddress], numberofvisitors],[temppass], role])                     values(                       @residentaccountnumber,                       @residentname,                       @residentaddress,                       @numberofvisitors,                       (select cast((abs(checksum(newid()))%10) varchar(1)) + char(ascii('a')+(abs(checksum(newid()))%25)) + char(ascii('a')+(abs(checksum(newid()))%25)) + left(newid(),5)),                       'resident')"; cmd.commandtype = commandtype.text; cmd.connection = sqlconnection; 

we know select in values constructor not legal 1 problem.

also having select without seems strange -- did copy code correctly?

you using executescalar -- know does? shouldn't include query includes insert query.

i'm guessing want stored procedure.


Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -