c# - Can't send substring to database -
my goal send data c# sql server, ut nothing happens in db side. can problem? maybe wrong data type in db side?
code getting string , sending it.
full code
namespace nibp2pc { public partial class form1 : form { private delegate void displaydeleg(string message); const string stx = "\u0002"; //start const string etx = "\u0003"; //end const string startmeas = "01;;d7"; //command values const string stopmeas = "x"; const string setcycle0 = "03;;d9"; // manual mode const string setcycle1 = "04;;da"; // 1 min const string setcycle2 = "05;;db"; // 2 min const string setcycle3 = "06;;dc"; // 3 min const string setcycle4 = "07;;dd"; // 4 min const string setcycle5 = "08;;de"; // 5 min const string setcycle10 = "09;;df"; // 10 min const string setcycle15 = "10;;d7"; // 15 min const string setcycle30 = "11;;d8"; // 30 min const string setmano = "14;;db"; // manometer mode const string setreboot = "15;;dc"; // reset board const string setleak = "17;;de"; // leakage test const string readstatus = "18;;df"; // read result const string setpmp100 = "19;;e0"; // set start pressure 100mmhg const string setpmp120 = "20;;d8"; // set start pressure 120mmhg const string setpmp140 = "21;;d9"; // set start pressure 140mmhg const string setpmp160 = "22;;da"; // set start pressure 160mmhg const string setpmp180 = "23;;db"; // set start pressure 180mmhg const string setadult = "24;;dc"; // set adult mode const string setneo = "25;;dd"; // set neo mode const byte init = 0; //not measured const byte ok = 1; // status values const byte rstat = 2; // read status const byte rpress = 3; byte v_cycle; byte v_pumpup; int v_map; // private verticalprogressbar bar1 = new verticalprogressbar(); public form1() { initializecomponent(); list_comport(); } private void list_comport() { // list of serial port names. string[] ports = serialport.getportnames(); // display each port name console. foreach (string port in ports) { porttoolstripmenuitem.dropdownitems.add(port, null, new eventhandler(port_click)); } } private void port_click(object sender, eventargs e) { if (serialport1.isopen) serialport1.close(); serialport1.readbuffersize = 64; serialport1.receivedbytesthreshold = 2; string port = sender.tostring(); serialport1.portname = port; try { serialport1.open(); } catch { messagebox.show("serial port " + serialport1.portname + " cannot opened!", "rs232 tester", messageboxbuttons.ok, messageboxicon.warning); }; toolstripstatuslabel_com.text = port; send_command(setcycle0); send_command(setadult); label_status.text = "idle"; label_cycle.text = "manual"; label_patient.text = "adult"; label_pump.text = "160 mmhg"; v_cycle = 0; v_pumpup = 3; send_command(setpmp160); send_command(readstatus); // read status values } private void exittoolstripmenuitem_click(object sender, eventargs e) { application.exit(); } private void abouttoolstripmenuitem_click(object sender, eventargs e) { aboutbox1 = new aboutbox1(); about.show(); } private void button_read_click(object sender, eventargs e) { send_command(readstatus); } private void button_cycle_click(object sender, eventargs e) { if (label_status.text == "idle") { if (v_cycle < 8) v_cycle++; else v_cycle = 0; switch (v_cycle) { case 0: send_command(setcycle0); label_cycle.text = "manual"; break; case 1: send_command(setcycle1); label_cycle.text = "1 min"; break; case 2: send_command(setcycle2); label_cycle.text = "2 min"; break; case 3: send_command(setcycle3); label_cycle.text = "3 min"; break; case 4: send_command(setcycle4); label_cycle.text = "4 min"; break; case 5: send_command(setcycle5); label_cycle.text = "5 min"; break; case 6: send_command(setcycle10); label_cycle.text = "10 min"; break; case 7: send_command(setcycle15); label_cycle.text = "15 min"; break; case 8: send_command(setcycle30); label_cycle.text = "30 min"; break; default: break; } } } private void send_command(string command) { if (serialport1.isopen) { serialport1.write(stx); // stx = 2 serialport1.write(command); serialport1.write(etx); // etx = 3 } } private void button_patient_click(object sender, eventargs e) { if (label_status.text == "idle") { if (label_patient.text == "adult") { send_command(setneo); label_patient.text = "neonate"; label_pump.text = "100 mmhg"; v_pumpup = 0; } else if (label_patient.text == "neonate") { send_command(setadult); label_patient.text = "adult"; label_pump.text = "160 mmhg"; v_pumpup = 3; } } } private void button_pump_click(object sender, eventargs e) { if (label_status.text == "idle") { if (label_patient.text == "neonate") { if (v_pumpup < 2) v_pumpup++; else v_pumpup = 0; } if (label_patient.text == "adult") { if ((v_pumpup < 4) && (v_pumpup >= 2)) v_pumpup++; else v_pumpup = 2; } switch (v_pumpup) { case 0: send_command(setpmp100); label_pump.text = "100 mmhg"; break; case 1: send_command(setpmp120); label_pump.text = "120 mmhg"; break; case 2: send_command(setpmp140); label_pump.text = "140 mmhg"; break; case 3: send_command(setpmp160); label_pump.text = "160 mmhg"; break; case 4: send_command(setpmp180); label_pump.text = "180 mmhg"; break; } } } private void button_start_click(object sender, eventargs e) { if (label_status.text == "idle") { send_command(startmeas); //ser_stat = rpress; label_status.text = "measure"; label_statusstring.text = ""; label_sys.text = ""; label_dia.text = ""; label_pulse.text = ""; } } private void button_mano_click(object sender, eventargs e) { if (label_status.text == "idle") { send_command(setmano); label_map.text = ""; //ser_stat = rpress; label_status.text = "manometer"; } } private void button_leak_click(object sender, eventargs e) { if (label_status.text == "idle") { if (label_patient.text == "neonate") { button_patient.performclick(); } send_command(setleak); //ser_stat = rpress; label_status.text = "leaktest"; label_statusstring.text = ""; label_sys.text = ""; label_dia.text = ""; label_pulse.text = ""; } } private void button_break_click(object sender, eventargs e) { send_command(stopmeas); label_status.text = "idle"; v_map = 0; label_sys.text = "---"; label_dia.text = "---"; label_pulse.text = "---"; label_map.text = "---"; } string buffer = ""; private void serialport1_datareceived(object sender, serialdatareceivedeventargs e) { while (serialport1.bytestoread > 0) { buffer += serialport1.readto("\r"); int index1 = buffer.indexof('\u0002'); int index2 = buffer.indexof('\u0003', index1 + 1); string buf = ""; if ((index1 >= 0) && (index2 > index1)) { buf = buffer.substring(index1 + 1, (index2 - 1 - index1)); buffer = buffer.remove(index1, (index2 - index1)); this.begininvoke(new displaydeleg(display), new object[] { buf }); } } } private void display(string message) { label_statusstring.text = message; label_statusstring.forecolor = color.black; if (message.length > 3) { if ((message.substring(5, 1)).contains("s")) { string temp = message.substring(6, 1); switch (temp) { case "3": label_status.text = "measure"; break; case "4": label_status.text = "manometer"; break; case "7": label_status.text = "leaktest"; break; default: label_status.text = "idle"; break; } label_map.text = message.substring(0, 3); if (label_map.text != "") v_map = convert.toint16(label_map.text); if (v_map < 300) { } bar1.value = v_map; } else { if ((message.substring(0, 1)).contains("s")) { string temp = message.substring(1, 1); switch (temp) { case "2": label_statusstring.forecolor = color.red; break; case "3": label_status.text = "measure"; break; case "4": label_status.text = "manometer"; break; case "7": label_status.text = "leaktest"; break; default: label_status.text = "idle"; break; } } label_map.text = message.substring(21, 3); label_sys.text = message.substring(15, 3); label_dia.text = message.substring(18, 3); label_pulse.text = message.substring(26, 3); savedata( message.substring(15, 3), message.substring(18, 3), message.substring(26, 3)); } } else if (message.contains("999")) { send_command(readstatus); label_status.text = "idle"; bar1.value = 0; } } private void savedata(string sys, string dia, string pulse) { try { string connectionstring = @"data source=pluto-pc\;attachdbfilename=c:\program files\microsoft sql server\mssql10_50.mssqlserver\mssql\data\spiediena_merisana.mdf;integrated security=true;user instance=true"; using (sqlconnection connection = new sqlconnection(connectionstring)) { string querystring = "insert merisana1 (sys, dia, pulse) values (@sys, @dia, @pulse)"; sqlcommand command = new sqlcommand(querystring, connection); command.parameters.addwithvalue("@sys", sys); command.parameters.addwithvalue("@dia", dia); command.parameters.addwithvalue("@pulse", pulse); command.connection.open(); command.executenonquery(); } } catch (sqlexception ex) { console.writeline(ex.message); } } private void timer1_tick(object sender, eventargs e) { toolstripstatuslabel_time.text = datetime.now.tolongtimestring(); } } public class verticalprogressbar : progressbar { protected override createparams createparams { { createparams cp = base.createparams; cp.style |= 0x04; return cp; } } } }
could try :
private void savedata(string sys, string dia, string pulse) { try { string connectionstring = @"data source=(local);attachdbfilename=c:\program files\microsoft sql server\mssql10_50.mssqlserver\mssql\data\spiediena_merisana.mdf;integrated security=true;user instance=true"; using (sqlconnection connection = new sqlconnection(connectionstring)) { string querystring = "insert merisana1 (sys, dia, pulse) values (@sys, @dia, @pulse)"; sqlcommand command = new sqlcommand (querystring, connection); command.parameters.addwithvalue("@sys", sys); command.parameters.addwithvalue("@dia", dia); command.parameters.addwithvalue("@pulse", pulse); command.connection.open(); command.executenonquery(); } } catch (sqlexception ex) { console.writeline(ex.message); } }
Comments
Post a Comment