В настоящее время я работаю над заданием колледжа, в котором у меня возникают проблемы с чтением данных из базы данных SQL Server. Я пытаюсь прочитать столбец Dentist Name
, а затем добавить эти имена в поле со списком.Не удается прочитать из базы данных SQL Server в C#
Однако при вводе имени столбца отображается ошибка.
Моя таблица называется dentistInfo
с колоннами Dentist ID
, Dentist Name
, Dentist Surname
, DOB
и Gender
.
В конце концов, когда я вернусь к чтению, я буду надеяться, что он сможет заполнить их данные, когда имена будут выбраны из выпадающего списка.
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();
}
}
}
изменение этой строки 'строка DNAME = myreader.GetString ("Dentist Name"); 'to 'string dname = (string) myreader [" Dentist Name "];' обязательно помогло бы, если бы мы знали, что такое ошибка. – MethodMan
у вас есть пробелы как часть имен ваших столбцов, и это вызовет ошибку при оценке SQL-запроса.Если ваша база данных - это SQL Server, попробуйте этот «SELECT [Dentist ID], [Dentist Name], [Dentist Surname], DOB, Gender From DentistInfo». Если это MySQL, то используйте вместо этого квадратные скобки гравюрный акцент. – derloopkat
Необходимо отправить сообщение об ошибке. Это как в гараже и говорить, что мой «автомобиль сломан, исправьте его» –