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
。这显然将返回零行。