C#如何将多个sql数据输出到文本?(单个查询正在运行)
我正在搜索一个提示或代码示例,以便将SQL数据库中的多条记录输出到一个文本框,这些记录的名称相同,称为auftragsummer,但第二个值不同,称为Stellplatz 这是我的工作代码,用于将一个搜索查询输出到两个文本框:C#如何将多个sql数据输出到文本?(单个查询正在运行),c#,sql,textbox,sqldatareader,C#,Sql,Textbox,Sqldatareader,我正在搜索一个提示或代码示例,以便将SQL数据库中的多条记录输出到一个文本框,这些记录的名称相同,称为auftragsummer,但第二个值不同,称为Stellplatz 这是我的工作代码,用于将一个搜索查询输出到两个文本框: private void search_btn_Click(object sender, EventArgs e) { con.Open(); cmd.Connection = con; SqlCommand myC
private void search_btn_Click(object sender, EventArgs e)
{
con.Open();
cmd.Connection = con;
SqlCommand myCommand = new SqlCommand("SELECT * FROM[FAUF] WHERE Auftragsnummer = '" + txt_search.Text + "'", con);
mdr = myCommand.ExecuteReader();
if (mdr.Read())
{
txt_searchNr.Text = mdr["Auftragsnummer"].ToString();
txt_searchSF.Text = mdr["Stellplatz"].ToString();
txt_search.SelectAll();
}
else
{
txt_searchNr.Text = "---";
txt_searchSF.Text = "---";
txt_search.SelectAll();
MessageBox.Show("Keine Daten gefunden - Bitte überprüfen Sie Ihre Eingaben!");
}
con.Close();
}
用户可以使用名为Stellplatz的不同秒值多次添加Auftragsummer
Example:
102555 - > 3
102555 - > 7
如何将SQL数据库中的第二条记录转换为代码中的第二个输出?关闭Con并再次打开它,然后写入新的查询关闭Con并再次打开它,然后写入新的查询在循环过程中,直到mdr.Read()无法解决您的问题:
private void search_btn_Click(object sender, EventArgs e)
{
con.Open();
cmd.Connection = con;
SqlCommand myCommand = new SqlCommand("SELECT * FROM[FAUF] WHERE Auftragsnummer = '" + txt_search.Text + "'", con);
mdr = myCommand.ExecuteReader();
if (!mdr.Read())
{
txt_searchNr.Text = "---";
txt_searchSF.Text = "---";
txt_search.SelectAll();
MessageBox.Show("Keine Daten gefunden - Bitte überprüfen Sie Ihre Eingaben!");
con.Close();
return;
}
while (mdr.Read())
{
//Do your code here
}
con.Close();
}
在mdr.Read()无法解决问题之前,请执行while循环:
private void search_btn_Click(object sender, EventArgs e)
{
con.Open();
cmd.Connection = con;
SqlCommand myCommand = new SqlCommand("SELECT * FROM[FAUF] WHERE Auftragsnummer = '" + txt_search.Text + "'", con);
mdr = myCommand.ExecuteReader();
if (!mdr.Read())
{
txt_searchNr.Text = "---";
txt_searchSF.Text = "---";
txt_search.SelectAll();
MessageBox.Show("Keine Daten gefunden - Bitte überprüfen Sie Ihre Eingaben!");
con.Close();
return;
}
while (mdr.Read())
{
//Do your code here
}
con.Close();
}
下面的代码现在用于两条记录,但当数据库中只有一条记录时,输出似乎为空
if (!mdr.Read())
{
txt_searchNr.Text = "---";
txt_searchSF.Text = "---";
txt_searchNr1.Text = "---";
txt_searchSF1.Text = "---";
MessageBox.Show("Keine Daten gefunden - Bitte überprüfen Sie Ihre Eingaben!");
con.Close();
return;
}
if (mdr.HasRows)
{
while (mdr.Read())
{
txt_searchNr.Text = mdr["Auftragsnummer"].ToString();
txt_searchSF.Text = mdr["Stellplatz"].ToString();
while (mdr.Read())
{
txt_searchNr1.Text = mdr["Auftragsnummer"].ToString();
txt_searchSF1.Text = mdr["Stellplatz"].ToString();
}
mdr.NextResult();
}
}
con.Close();
下面的代码现在用于两条记录,但当数据库中只有一条记录时,输出似乎为空
if (!mdr.Read())
{
txt_searchNr.Text = "---";
txt_searchSF.Text = "---";
txt_searchNr1.Text = "---";
txt_searchSF1.Text = "---";
MessageBox.Show("Keine Daten gefunden - Bitte überprüfen Sie Ihre Eingaben!");
con.Close();
return;
}
if (mdr.HasRows)
{
while (mdr.Read())
{
txt_searchNr.Text = mdr["Auftragsnummer"].ToString();
txt_searchSF.Text = mdr["Stellplatz"].ToString();
while (mdr.Read())
{
txt_searchNr1.Text = mdr["Auftragsnummer"].ToString();
txt_searchSF1.Text = mdr["Stellplatz"].ToString();
}
mdr.NextResult();
}
}
con.Close();
如:while(reader.Read()){/*新行可用*/}
中所述:while(reader.Read()){/*新行可用*/}
感谢您的示例:)我现在的问题是,最新的记录显示在我的输出中,但第二个记录没有显示在第二个文本框中。我想填写第一条记录TextAuftrag1和TextST1,第二条记录另一对名为TextAuftrag2和TextST2。感谢您的示例:)我现在的问题是,最新的记录显示在我的输出中,但第二条记录没有显示在第二个文本框中。我想用第一条记录TextAuftrag1和TextST1来填充,用第二条记录来填充另一对,比如TextAuftrag2和TextST2。