Insert en BD desde form

gabecq
12 de Febrero del 2004
Buenas!
Quiero hacer un insert en una BD SQLServer2000 desde un form rellenando una TextBox. Este es el código que tengo pero no me agrega el registro en el BD:

OleDbConnection1.Open() 'Se abre la conexión a la BD

Dim insertSQL As String = "INSERT INTO Users (User) VALUES (?)"
Dim insertCMD As OleDb.OleDbCommand = New OleDb.OleDbCommand(insertSQL, OleDbConnection1)

OleDbDataAdapter1.InsertCommand = insertCMD

insertCMD.Parameters.Add("@User", OleDb.OleDbType.VarChar, 10).Value = TextBox1.Text
insertCMD.ExecuteNonQuery()

Dim userDS As DataSet = New DataSet()
OleDbDataAdapter1.Fill(userDS, "Users")

OleDbConnection1.Close()

¿Alguna idea de que estoy haciendo mal? Gracias.

Otra cosilla más, ¿cómo puedo importar system.dat.sqlexception? Es para controlar las posibles excepciones que me de SQL, pero con un import no me deja.

Gracias y un saludo.


12 de Febrero del 2004
la verdad creo que es demasiado para hacer un simple insert.
Estas usando un objeto Conexión(que es indispensable), pero el objeto Command creo que te consume recursos por las puras. Se que cada uno tiene su forma de programar y usa los objetos que quiere pero te recomiendo esta forma q es más sencilla:

OleDbConnection1.open()'se abre la conexión a la BD
OleDbConnection1.execute "insert into users (user) values '" + textbox1.text + "'"
creo que es más sencillo, ocupa menos lineas y consume menos recursos.

gabecq
12 de Febrero del 2004
Muchísimas gracias. Lo probaré. Lo tenía así porque lo cogí de la ayuda de Visual Studio :-( no porque supiera muy bien que era lo q estaba haciendo.

Saludos.