C# SQL数据读取到文本框

C# SQL数据读取到文本框,c#,.net,ado.net,C#,.net,Ado.net,我正在尝试从数据库中获取数据到文本!我粘贴的代码工作正常,不会给我任何异常,但问题是它无法从它获取的数据库中获取所需的数据System.data.SqlClient.SqlDataReader 请帮我解决这个问题 ////代码//// private void ReplaceBookmarkText(Microsoft.Office.Interop.Word.Document doc, string bookmarkName,string text) { object objI=1 ;

我正在尝试从数据库中获取数据到文本!我粘贴的代码工作正常,不会给我任何异常,但问题是它无法从它获取的数据库中获取所需的数据
System.data.SqlClient.SqlDataReader

请帮我解决这个问题

////代码////

private void ReplaceBookmarkText(Microsoft.Office.Interop.Word.Document doc, string bookmarkName,string text)
{
   object objI=1 ;
   object count = 7;
   object oCount = Microsoft.Office.Interop.Word.WdConstants.wdForward;
   object oUnit = Microsoft.Office.Interop.Word.WdUnits.wdCharacter;
   int number;
   //here is your name, store it where ever you want:
   bookmarkName = doc.Bookmarks.get_Item(ref objI).Name;
   //bookmarkEnd = doc.Bookmarks.get_Item(ref objI).End;
   //bookmarkStart = doc.Bookmarks.get_Item(ref objI).Start;
   number = doc.Bookmarks.get_Item(ref objI).Range.MoveEnd(ref oUnit, ref count);
   //bookmarkEnd = doc.Bookmarks.get_Item(ref objI).Start;
   string bookmarkValue = doc.Bookmarks.get_Item(ref objI).Range.Text;
   MessageBox.Show(bookmarkValue);
   string db_name = "";

   try
   {
      sql_con = new SqlConnection(con_str);
      sql_con.Open();

      //"SELECT FirstName FROM ContactPerson WHERE (Contact_ID = " + fNameTemp + ")");
      // select s_name from student where s_reg = '11-ARID-4204'
      // string sql_query = ("select s_name from student where (s_reg = " + txtboxrollno + ")");
      //"Select * from logintable where password=" + "'TextBox1.Text'";
      sql_cmd = sql_con.CreateCommand();
      string qrery = ("select s_name from student where (s_reg = " + "'txtboxrollno.text'" + ")");
      SqlCommand cmd = new SqlCommand(qrery,sql_con);
      //sql_cmd.CommandText = ("select s_name from student where (s_reg = " + txtboxrollno.Text.Trim() + ")");
      cmd.ExecuteNonQuery();
      MessageBox.Show(cmd.ToString());
      SqlDataReader sdr; 
      sdr = cmd.ExecuteReader();
      //textBox1.Text = sdr.ToString();
      db_name = textBox1.Text;

      while(sdr.Read())
      {
         //textBox1.Text = sdr["s_name"].ToString();
         textBox1.Text = cmd.ExecuteScalar().ToString();
         //txtpatientid.Text = command.ExecuteScalar().ToString();
         //fNameTextBox.Text = sdr["FirstName"].ToString();
      }
   }
}

像这样的怎么样:

sql_cmd = sql_con.CreateCommand();
string qrery = "select s_name from student where (s_reg = @s_reg)";
SqlCommand cmd = new SqlCommand(qrery,sql_con);
cmd.Parameters.AddWithValue("@s_reg", txtboxrollno.Text);
textBox1.Text = cmd.ExecuteScalar() as string;

我还要推荐一些其他的东西。但让我们从这个开始。这将获取第一行的第一个结果,并将其放入文本框。

我不清楚您的问题到底是什么。你能用一句话来澄清问题到底是什么吗?警告:你的代码容易受到攻击。请研究使用。问题是,它没有显示从数据库获得的任何数据!我想让它显示数据库中的数据!cmd.ExecuteQuery()应该返回数据而不是System.bla…另一件事。。。此语法错误:
string qrry=(“从student where(s_reg=“+”'txtboxrollno.text')中选择s_名称”)。这应该是:
string qrry=(“从学生处选择s_名称(s_reg=“+txtboxrollno.text+”))。为什么要发布此代码段?投票结束,因为你没有在这个问题上投入任何精力。迈克尔不是工人!!!:(@user2509861,那没有给我任何信息的人!!!什么不是工作的人!!!意思是?大脑,老板我已经试过你对ExecuteScalar()的建议了;但是它是空的!!!!:(@user2509861,如果为空,则表示查询本身没有返回任何数据。在运行查询之前,放置一个断点,从
Watch
窗口抓取实际查询,并手动运行。它返回什么?@user2509861,请查看我的编辑。注意:如果您没有大写
txtboxrollno
属性,您将获得一个生成错误。您甚至没有向查询好友发送值,而是在查询中发送文本
txtboxrollno.text
。这显然将返回零行。