SQL

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von mrMo.

    Hallo, ich habe da folgendes Problem. Ich nutze Windows 7, VB 10 Express seit einem Jahr. Einige kleine Dinge entwickelt usw. Von Anfang an konnte ich keine SQL Abfragen erstellen im DataSetDesigner. Keine Ahnung warum. Dann hab ich mir von Unity irgendwas installiert und dann ging es mit den Abfagen. Die Tage ist irgenwas passiert, hab noch Tabellen hinzugefügt usw. Auf einmal gibt es Fehler, einfache SQL abfrage nach Suche ID oder Namen geht nicht, keine Rückgabe, Ausserhalb des Indizes. Ich hab noch eine kompilierte Version erstellt, die mit dem gleichen Programm Code funktioniert. die standard fill methode liefert sogar im vorschau fenster werte.

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    KielerSprotte schrieb:

    Von Anfang an konnte ich keine SQL Abfragen erstellen im DataSetDesigner. Keine Ahnung warum. Dann hab ich mir von Unity irgendwas installiert und dann ging es mit den Abfagen.


    Was genau bedeutet "irgendwas"?

    KielerSprotte schrieb:


    Die Tage ist irgenwas passiert, hab noch Tabellen hinzugefügt usw. Auf einmal gibt es Fehler...


    Auch hier: Was genau bedeutet "irgendwas"?

    Ohne kokrete Info, kann man hier wohl kaum helfen. Gibt es Fehlermeldungen? Oder wie @ThuCommix schon fragte, wie sieht eigentlich die Abfrage aus? etc.
    danke für eure zeit.
    zum ersten Irgendwas: der abfrage generator im datasetdesigner startete nicht richtig und brach ab. an die fehlermeldung erinnere mich nicht. Dann installation von Unity für spieleentwicklung mit visiual studio community 2015 version. danach fiel auf das das fenster für den abfragegenerator aufging.

    I2, neue tabelle im datenbankerxplorer hinzugefügt. dann abgespeichert und danach lief es nicht mehr.

    VB.NET-Quellcode

    1. ​Private Sub tbsearch_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbsearch.TextChanged
    2. Dim search As String = "%" + tbsearch.Text + "%"
    3. Try
    4. Me.SpielerTableAdapter.FillBySearchName(Me.PS1DataSet.Spieler, search)
    5. Dim value As Object = SpielerDataGridView.Item(0, 0).Value
    6. ' cmdLoadW.Text = "Index = " + CStr(value)
    7. Catch ex As Exception
    8. MessageBox.Show(ex.Message)
    9. Me.SpielerTableAdapter.Fill(Me.PS1DataSet.Spieler)
    10. ' cmdLoadW.Text = "Index = "
    11. End Try
    12. End Sub
    13. Private Sub btsearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btsearch.Click
    14. Try
    15. Dim connection As New SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Test\Test\PS1.sdf;Integrated Security=True;User Instance=True")
    16. Dim command As New SqlCommand("select * from Spieler where ID =@Id", connection)
    17. command.Parameters.Add("@Id", SqlDbType.Int).Value = tbsearch.Text
    18. Dim adapter As New SqlDataAdapter(command)
    19. Dim table As New DataTable
    20. adapter.Fill(table)
    21. 'tb_ID.Text = ""
    22. 'tb_Name.Text = ""
    23. If table.Rows.Count() > 0 Then
    24. 'tb_ID.Text = table.Rows(0)(1).ToString
    25. 'tb_Name.Text = table.Rows(0)(2).ToString
    26. Else
    27. MessageBox.Show("no data found")
    28. End If
    29. Catch ex As Exception
    30. MessageBox.Show(ex.Message)
    31. End Try
    32. End Sub


    SQL-Abfrage

    1. SELECT ID, Name, OCR, Bild
    2. FROM Spieler
    3. WHERE (Name = @Param1)


    btsearch: liefert einen Instance failure
    tbsearch: liefert gar nix, es fällt auf das der bindignavigator seine Bindung verliert und ausser + und speichern icons alle grau sind.

    :P
    hmm von einem "InstanceFailure" hab ich noch nie gehört.
    Vermutlich was vom SqlServer.
    Kannst du überhaupt auf die DB zugreifen?

    Auch hilfreich kann sein, den StackTrace der Exception auszukopieren und hier zu posten. Evtl. enthält die InnerExceptions, die bisserl mehr Licht ins Dunkel bringen.

    vielleicht :(
    1. Normalerweise muss man eine Connection öffnen/schließen
    2. Dein ConnectionString schaut seltsam aus. Du nutzt nen SQLServer? Dann schau mal hier: connectionstrings.com/sqlconnection/standard-security/
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    "System.InvalidOperationException" wurde aufgefangen.
    HResult=-2146233079
    Message=Instance failure.
    Source=System.Data
    StackTrace:
    at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover, Boolean isFirstTransparentAttempt, SqlAuthenticationMethod authType, Boolean disableTnir)
    at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover, Boolean isFirstTransparentAttempt, Boolean disableTnir)
    at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
    at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
    at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
    at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
    at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
    at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
    at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
    at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
    at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
    at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
    at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
    at System.Data.SqlClient.SqlConnection.Open()
    at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
    at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
    at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
    at WindowsApplication2.Form1.cmdSearch_Click(Object sender, EventArgs e) in C:\Users\Administrator\Documents\Visual Studio 2010\Projects\WindowsApplication2\WindowsApplication2\Form1.vb:line 21
    InnerException:
    Woher hast du das:

    VB.NET-Quellcode

    1. Dim connection As New SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Test\Test\PS1.sdf;Integrated Security=True;User Instance=True")


    Bist du dir dessen Bedeutung bewusst und hast du bewusst User Instance=True?
    Das ist meine Signatur und sie wird wunderbar sein!

    mrMo schrieb:

    2. Dein ConnectionString schaut seltsam aus. Du nutzt nen SQLServer? Dann schau mal hier: connectionstrings.com/sqlconnection/standard-security/


    *Räusper*
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen