2012-10-29 60 views
0
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 
     Dim insertOk As Boolean = True 
     Dim con1 As OleDb.OleDbConnection 
     Dim cmd As OleDb.OleDbCommand 
     Dim query As String 
     Dim temp As Integer 
     con1 = New OleDb.OleDbConnection("Provider=MSDAORA.1;Data Source=localhost;Persist Security Info=True;Password=sys;User ID=nitishok") 

     con1.Open() 

     query = "insert into APPLICANTS(APPLICANT_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,SEX,F_H,TOWN,TALUKA,DISTRICT,LANDLINE,MOBILE,BLOOD_GROUP,EDU,DOB) values(:aid,:fn,:mn,:ln,:s,:fh,:tw,:tl,:ds,:land,:mob,:bg,:edu,:dob)" 

     cmd = New OleDb.OleDbCommand(query, con1) 

     cmd.Parameters.Add(":aid", OleDb.OleDbType.VarChar).Value = TextBox7.Text 
     cmd.Parameters.Add(":fn", OleDb.OleDbType.LongVarChar).Value = TextBox1.Text 
     cmd.Parameters.Add(":mn", OleDb.OleDbType.LongVarChar).Value = TextBox12.Text 
     cmd.Parameters.Add(":ln", OleDb.OleDbType.LongVarChar).Value = TextBox11.Text 
     cmd.Parameters.Add(":s", OleDb.OleDbType.LongVarChar).Value = ComboBox1.Text 
     cmd.Parameters.Add(":fh", OleDb.OleDbType.LongVarChar).Value = TextBox2.Text 
     cmd.Parameters.Add(":tw", OleDb.OleDbType.LongVarChar).Value = TextBox10.Text 
     cmd.Parameters.Add(":tl", OleDb.OleDbType.LongVarChar).Value = TextBox8.Text 
     cmd.Parameters.Add(":ds", OleDb.OleDbType.LongVarChar).Value = TextBox9.Text 
     cmd.Parameters.Add(":land", OleDb.OleDbType.LongVarChar).Value = TextBox5.Text 
     cmd.Parameters.Add(":mob", OleDb.OleDbType.LongVarChar).Value = TextBox6.Text 
     cmd.Parameters.Add(":bg", OleDb.OleDbType.LongVarChar).Value = ComboBox2.Text 
     cmd.Parameters.Add(":edu", OleDb.OleDbType.LongVarChar).Value = TextBox4.Text 

     cmd.Parameters.Add(":dob", OleDb.OleDbType.Date).Value = DateTimePicker1.Value 

     cmd.CommandType = CommandType.Text 
     temp = cmd.ExecuteNonQuery() 


     If temp > 0 Then 
      MessageBox.Show("Record Added!") 
     Else 
      MessageBox.Show("Record Not Added!") 
     End If 

     con1.Close() 
    End Sub 

即时通讯全新的vb.net。即时通讯为我的长期工作做一个简单的项目。在vb.net中使用oledb插入数据到oracle数据库中,VS 2008

请向我解释如何插入值。

即时得到这个errer ORA-01008:并非所有变量的约束....

IM使用vb.net VS 2008 Oracle数据库 OLEDB连接

回答

0

使用问题占位符代替命名(?)参数,因为您使用的是System.Data.OleDb。我建议下载ODP.NET - Oracle Data Provider for .NET

例如,

query = "insert into APPLICANTS(APPLICANT_ID,FIRST_NAME) values(?,?)" 
cmd.Parameters.Add("?", OleDb.OleDbType.VarChar,30).Value = TextBox7.Text 
cmd.Parameters.Add("?", OleDb.OleDbType.LongVarChar,40).Value = TextBox1.Text 
.... 
+0

非常感谢。有效。 – Nitishok