Ich arbeite derzeit an einer College-Zuordnung, in der ich Probleme beim Lesen von Daten aus einer SQL Server-Datenbank habe. Ich versuche, die Dentist Name
Spalte zu lesen und dann diese Namen zu einer Combobox hinzuzufügen.Cant lesen von SQL Server-Datenbank in C#
Allerdings, wenn ich den Spaltennamen eingeben, zeigt es einen Fehler.
ist mein Tisch dentistInfo
mit Spalten Dentist ID
, genannt Dentist Name
, Dentist Surname
, DOB
und Gender
.
Irgendwann, wenn ich das Lesen richtig gemacht habe, werde ich hoffentlich in der Lage sein, ihre Details zu füllen, wenn die Namen aus der Combobox ausgewählt werden.
public partial class Dentist_Info : Form
{
Surgery mySurgery = new Surgery();
private SqlConnection conn;
private SqlCommand cmd;
private SqlDataAdapter da;
Surgery _formsSurgery;
public Dentist_Info(Surgery SurgeryToDisplay)
{
_formsSurgery = SurgeryToDisplay;
}
public void FillCombo()
{
SqlConnection conn = new SqlConnection(@"Data Source = GGJG; Initial Catalog = DentistDB; Integrated Security = True");
SqlCommand SelectCommand = new SqlCommand("SELECT * FROM DentistInfo", conn);
SqlDataReader myreader;
conn.Open();
try
{
myreader = SelectCommand.ExecuteReader();
while (myreader.Read())
{
string dname = myreader.GetString("Dentist Name");
comboBox1.Items.Add(dname);
}
conn.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
if (conn != null)
{
conn.Close();
}
}
}
Änderung dieser Zeile 'String dname = myreader.GetString ("Dentist Name"); 'zu 'string dname = (string) myreader [" Zahnarzt Name "];' würde sicher helfen, wenn wir wüssten, was der Fehler auch war. – MethodMan
Sie haben Leerzeichen als Teil Ihrer Spaltennamen und dies wird einen Fehler bei der Auswertung der SQL-Abfrage auslösen.Wenn Ihre Datenbank SQL Server ist, versuchen Sie dies "SELECT [Zahnarzt-ID], [Zahnarzt-Name], [Zahnarzt-Familienname], DOB, Gender VON DentistInfo". Wenn es sich um MySQL handelt, verwenden Sie Grave Accent anstelle von eckigen Klammern. – derloopkat
Sie müssen die eigentliche Fehlermeldung posten. Es ist wie in die Garage zu gehen und zu sagen, mein Auto ist kaputt, repariere es. –