10. august 2006 - 15:01Der er
19 kommentarer og 1 løsning
Prepared statement konvertering til SqlDataAdapter
Hej, i java brugte jeg prepared statement, men så vidt jeg kan læse mig frem til gør man i c# brug af SqlDataAdapter ? Men nogen der kan hjælpe lidt med hvordan det lige skal bruges..
Old code..
PreparedStatement st = con.prepareStatement("INSERT INTO member VALUES (LAST_INSERT_ID(),?,?,?,?,?,?,?,?,?,?,?,?)"); st.setString(1, m.getName()); st.setString(2, m.getAdress()); blablabla
Hvis du bare skal lave en simpel insert kan du gøre således:
OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sti til din database;"); string insert = din insert sætning;
OleDbCommand aCommand = new OleDbCommand(insert, aConnection); aConnection.Open(); int i = aCommand.ExecuteNonQuery(); aConnection.Close();
Vedlagte jo netop kode for at du kunne se eksemplet .. ? Har ikke så jeg kan sige at jeg skal indsætte en bestemt værdi, er værdien fra tekstfelter med informationer om fornavn, efternavn, adresse osv..
Jamen ser det ikke rigtig nok ud hvad jeg har lavet ifl overstående.. ?
Fejlen sker når jeg opretter medlemmet .. altså ikke compile.. "Parameter '?id' must be defined"
************** Exception Text ************** MySql.Data.MySqlClient.MySqlException: Parameter '?id' must be defined at MySql.Data.MySqlClient.MySqlCommand.SerializeParameter(PacketWriter writer, String parmName) at MySql.Data.MySqlClient.MySqlCommand.PrepareSqlBuffers(String sql) at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() at FDF.Form1.createMember() in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\FDF\FDF\Form1.cs:line 171 at FDF.Form1.buttonCreateMember_Click(Object sender, EventArgs e) in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\FDF\FDF\Form1.cs:line 162 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Prøvede nemlig først uden at angive typen, men det forlanger den ved compile .. :) Men har jeg ændret nu jo .. så håber du lige har en ide til hvad problemet kan være :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.