現在、SQL Serverデータベースからデータを読み取ることができない大学の割り当てに取り組んでいます。私はDentist Name
列を読んで、これらの名前をコンボボックスに追加しようとしています。C#でSQL Serverデータベースから読み込むことがありません
ただし、列名を入力するとエラーが表示されます。
私のテーブルは列Dentist ID
、Dentist Name
、Dentist Surname
、DOB
とGender
でdentistInfo
と呼ばれています。
最終的に私が正しく読み上げられるようになると、名前がコンボボックスから選択されたときにその情報を入力できるようになります。
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"); 'からへ'string dname =(string)myreader [" Dentist Name "];私たちがエラーの内容を知っていれば助けになるでしょう。 – MethodMan
カラム名にスペースが含まれていると、SQLクエリーの評価時にエラーが発生します。データベースがSQL Serverの場合は、この「SELECT [Dentist ID]、[Dentist Name]、Dentist Surname、DOB、Gender FROM DentistInfo」を試してください。 MySQLの場合は、sqare bracketの代わりにgrave accentを使用します。 – derloopkat
実際のエラーメッセージを投稿する必要があります。それはガレージに行き、私の '車が壊れている、それを修正する'と言っている。 –