c# - Populate textbox with selected items from database -
private void fillproduct() { sqlconnection conn = new sqlconnection("data source=station21\\sqlexpress;initial catalog=mydb;integrated security=true"); conn.open(); string query = "select prodid product"; sqlcommand cmd = new sqlcommand(query, conn); sqldataadapter da = new sqldataadapter(cmd); datatable dt = new datatable(); da.fill(dt); if (dt.rows.count > 0) { cmbpcode.datasource = dt; cmbpcode.displaymember = "prodid"; cmbpcode.valuemember = "prodid"; } private void cmbpcode_selectedindexchanged(object sender, eventargs e) { sqlconnection con = new sqlconnection("data source=station21\\sqlexpress;initial catalog=mydb;integrated security=true"); con.open(); string query = "select * product prodid = '"+cmbpcode.text+"'".tostring(); sqlcommand cmd = new sqlcommand(query, con); sqldatareader dr = cmd.executereader(); if (dr.read()) { tbdc.text = dr["proddescription"].tostring(); } }
i having trouble getting items database according selected index error
conversion failed when converting varchar value 'system.data.datarowview' data type int
can please me how convert sqldatareader string. because notice when retrieve column varchar/string datatype not having kind error if retrieve column int datatype error.
replace this:
string query = "select * product prodid = '"+cmbpcode.text+ "'".tostring();
with this:
string query = "select * product prodid = "+cmbpcode.text;
suggestion: query open sql injection suggest use parameterised queries avoid them.
using parameterised queries:
string query = "select * product prodid = @id"; sqlcommand cmd = new sqlcommand(query, con); cmd.parameters.addwithvalue("@id",cmbpcode.text);
Comments
Post a Comment