Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Lokale Datenbank // Daten abrufen


Talemantros - Di 08.12.15 09:45
Titel: Lokale Datenbank // Daten abrufen
Hallo,
ich quäle mich mit einer lokalen Datenbank.
Ich habe diese über "Projekt --> Neue Datenquelle hinzufügen" erstellt. (updateDataBase.mdf)
Und bin dabei dem Assistenten gefolgt. Ich habe da auch kein Problem gesehen, weil ich dies schon mal gemacht hatte und es damals ohne Probleme funktioniert hat.
Nun finde ich einfach den Fehler nicht.

Den ConnectionString habe ich wie folgt abgelegt:

C#-Quelltext
1:
2:
3:
4:
        public static string GetConnStrUpdate()
        {
            return @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\updateDataBase.mdf;Integrated Security=True;Connect Timeout=30";
        }


Und habe der Datenbank eine Tabelle hinzugefügt.
Die Tabelle heißt noch "TABLE", weil ich keine Funktion finde diese umzubenennen. Aber das wäre auch erstmal zweitrangig.
Für die Übersicht siehe Anlage.

Nun habe ich einen Testdatensatz und eine ganz rudimentäre Abfrage um zu gucken ob es geht.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
    public class UpdateMethods
    {
        static string strSQl = string.Empty;
        static string connStr = DbInfo.GetConnStrUpdate();

        public static List<string> GetListStringScripts()
        {
            List<string> myScripts = new List<string>();
            strSQl = "Select * from Table";

            using (SqlConnection conn = new SqlConnection(connStr))
            {
                using (SqlCommand cmd = new SqlCommand(strSQl, conn))
                {
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();

                    while (dr.Read())
                    {
                        myScripts.Add(dr.GetString(1));   
                    }
                    conn.Close();
                }
            }
            return myScripts;
        }
    }


Als Fehler kommt immer Syntaxfehler in der Nähe von Table

Würde mich über Hilfe freuen.

Danke

Gruß
Daniel


OlafSt - Di 08.12.15 10:27

Lerne SQL ;)

"Table" ist ein SQL-Schlüsselwort, ergo kann deine Abfrage nicht funktionieren. Ich bin erstaunt, das du überhaupt eine Tabelle mit dem Namen "Table" anlegen konntest. Bennen sie um und vermeide dabei SQL-Schlüsselwörter.


Talemantros - Di 08.12.15 10:38

Table war die Vorgabe des Visual Studios :-(
Ich bekomme sie nicht umbenannt bisher

EDIT: Lösche es jetzt mal und probier es noch mal aus.
Danke


Th69 - Di 08.12.15 11:46

Hallo,

schau dir mal die Antworten in How to change the table name in visual studio 2013 in design mode? [http://stackoverflow.com/questions/20538880/how-to-change-the-table-name-in-visual-studio-2013-in-design-mode] an.

Und falls du doch mal ein SQL-Schlüsselwort als Tabellen-/Feldnamen verwenden willst:

C#-Quelltext
1:
strSQl = "Select * from [Table]";                    


Talemantros - Mi 09.12.15 18:43

Hey,
danke euch.
Habe es umbenannt und hat funktioniert.
Wollte nur schnell was testen und hatte dann quasi die Vorgabe genommen.
So schnell kann es gehen in einen Fehler zu laufen.

Vielen Dank und schönen Abend noch!

Gruß
Daniel