0

我正在尝试将数据从数据库获取到文本!我粘贴的代码工作正常,它没有给我任何异常,但问题是它无法从它获取的数据库中获取所需的数据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();
      }
   }
}
4

1 回答 1

2

像这样的东西怎么样:

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;

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

于 2013-06-21T17:39:38.500 回答