为什么我的代码无法将值分配到文本框中.... [英] why my code does not working to assign value into a textbox....
本文介绍了为什么我的代码无法将值分配到文本框中....的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这些代码有什么问题请帮助
string conStr = ConfigurationManager.ConnectionStrings [ CStringCRM]。ToString();
DataTable dt = new DataTable();
SqlDataReader dr = null ;
使用(SqlConnection conn = new SqlConnection(conStr))
{
string sql = string .Format( @ 选择前1个ID来自用户订单ID desc);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
conn.Open();
dr = cmd.ExecuteReader();
dt.Load(dr);
txtUID.Text = dr [ ID]。ToString();
conn.Close();
cmd = null ;
}
解决方案
以下是您的代码的固定版本:
< pre lang =cs> string conStr = ConfigurationManager.ConnectionStrings [ CStringCRM跨度>]的ToString();
使用(SqlConnection conn = new SqlConnection(conStr))
使用(SqlCommand cmd = new SqlCommand( @ SELECT top 1 ID FROM用户订单ID desc,conn))
{
conn.Open();
使用(SqlDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection))
{
if (dr.Read())
{
txtUID.Text = Convert.ToString(dr [ ID跨度>]);
}
}
}
- CPaini建议的一致列名;
- 删除未使用的
DataTable
和dt.Load(dr)
,如CPallini和CodeMaster_Noob所建议的那样;- 使用块在
中包装
SqlDataReader
,并告诉它在完成时关闭连接;- 在尝试访问
SqlDataReader
中的值之前,添加了所需的dr.Read()
调用;- 替换
dr [ID]。ToString()
withConvert.ToString(dr [ID])
,如果列值为null
;
Quote:string sql = string.Format(@SELECT top 1 ID FROM用户订单ID desc);
Quote:txtUID.Text = dr [ UID ] .ToString();
我看到不匹配...
请注意,DataTable
在您的代码中没用。
what is the problem with these codes please help
string conStr = ConfigurationManager.ConnectionStrings["CStringCRM"].ToString();
DataTable dt = new DataTable();
SqlDataReader dr = null;
using(SqlConnection conn = new SqlConnection(conStr))
{
string sql = string.Format(@"SELECT top 1 ID FROM User order by ID desc");
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
conn.Open();
dr = cmd.ExecuteReader();
dt.Load(dr);
txtUID.Text = dr["ID"].ToString();
conn.Close();
cmd = null;
}
解决方案
Here's a fixed version of your code:
string conStr = ConfigurationManager.ConnectionStrings["CStringCRM"].ToString(); using (SqlConnection conn = new SqlConnection(conStr)) using (SqlCommand cmd = new SqlCommand(@"SELECT top 1 ID FROM User order by ID desc", conn)) { conn.Open(); using (SqlDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection)) { if (dr.Read()) { txtUID.Text = Convert.ToString(dr["ID"]); } } }
- Consistent column name, as suggested by CPallini;
- Removed the un-used
DataTable
anddt.Load(dr)
, as suggested by CPallini and CodeMaster_Noob;- Wrapped the
SqlDataReader
in ausing
block, and told it to close the connection when finished;- Added the required
dr.Read()
call before attempting to access values from theSqlDataReader
;- Replaced
dr["ID"].ToString()
withConvert.ToString(dr["ID"])
, in case the column value isnull
;
Quote:string sql = string.Format(@"SELECT top 1 ID FROM User order by ID desc");
Quote:txtUID.Text = dr["UID"].ToString();
I see a mismatch...
Please note, theDataTable
is useless in your code.
这篇关于为什么我的代码无法将值分配到文本框中....的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文