Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: vb2010 - Tietokannat - tarkista löytyykö arvo

jokke568 [16.01.2013 21:09:41]

#

Hei

Minulla on tietokanta Kalusto (KalustoDataSet), jossa on taulu Autot ja sarake REK_NRO.

Tietokanta on MS Access 2007:n


Googlettanut (visual basic 2010 database find) ja kokeillut erilaisia vaihtoehtoja mut ei onnistu.

VB on luonnut yhteyden tietokantaan on TableAdapter ja BindingSourcet.

Opettelen nyt tätä tietokannan hyödyntämistä ja logiikka ei nyt oikein aukea...

Miten saan tarkistettua löytyykö syötetty rekisterinumero tietokannasta?

Palauttaisi arvon True/False.

Kiitos etukäteen jos joku ehtisi auttaa..

Sami [16.01.2013 21:44:20]

#

Pitäisi onnistua hyvinkin yksinkertaisella kyselyllä, kuten

SELECT COUNT(*)>0 FROM autot WHERE rek_nro = 'JEE-123';

tai jos ei Accessissa toimi ihan suoraan tuolla, niin jollain hyvin samankaltaisella nyt ainakin.

neau33 [17.01.2013 09:37:45]

#

Moi jokke568!

esim näin...

 'Huom! Esimerkki on väännetty SharpDevelop 4.2:lla
Imports System
Imports System.Data
Imports System.Data.OleDb

Public Partial Class MainForm

	Dim conn As OleDbConnection = Nothing
	Dim KalustoDataSet As DataSet = Nothing
	Dim KalustoAdapter As OleDbDataAdapter = Nothing
	Dim connstr As String = String.Empty

	Public Sub New()
		Me.InitializeComponent()
	End Sub

	Sub MainFormLoad(sender As Object, e As EventArgs)

		conn = New OleDbConnection

		Dim dbPath As String = Environment.GetFolderPath( _
		Environment.SpecialFolder.MyDocuments) 'esim.
		dbPath += "\Kalusto.accdb"
		connstr = "Provider=Microsoft.ACE.OLEDB.12.0;" + _
		"Data Source="+ dbPath + ";Persist Security Info=False;"
		Try
			conn.ConnectionString = connstr
			conn.Open
		Catch ex As Exception
			MsgBox(ex.Message)
		End Try



	End Sub

	Sub Button1Click(sender As Object, e As EventArgs)

		If textBox1.Text = String.Empty Then
			textBox1.Focus
		End If

		If conn.State = ConnectionState.Open Then

			Dim query As String = "SELECT * FROM Autot WHERE REK_NRO ='" + textBox1.Text + "'"
			KalustoAdapter = New OleDbDataAdapter(query, connstr)
			KalustoDataSet = New DataSet
			KalustoAdapter.Fill(KalustoDataSet, "Autot")

			If KalustoDataSet.Tables("Autot").Rows.Count > 0 Then
				MsgBox("LÖYTYI")
			End If

			KalustoAdapter = Nothing
			KalustoDataSet = Nothing

		End If

	End Sub


	Sub MainFormFormClosing(sender As Object, e As FormClosingEventArgs)

		If conn.State = ConnectionState.Open Then
			conn.Close
		End If

		conn = Nothing

	End Sub

End Class

jokke568 [17.01.2013 19:02:04]

#

Kiitos Neau33 !

Jotenkin välttelin OleDb:tä kun oletin, että yhteyttä tietokantaan ei tarvitsisi tehdä, kun kerran on Dataset, TableAdapterit ja BingingSourset.

Kiitos.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta