本文介绍了为什么我的代码无法将值分配到文本框中....的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
CPaini建议的一致列名; 删除未使用的 DataTable 和 dt.Load(dr),如CPallini和CodeMaster_Noob所建议的那样; 使用块在中包装 SqlDataReader ,并告诉它在完成时关闭连接; 在尝试访问 SqlDataReader 中的值之前,添加了所需的 dr.Read()调用; 替换 dr [ID]。ToString() with Convert.ToString(dr [ID]) ,如果列值为 null ; Consistent column name, as suggested by CPallini; Removed the un-used DataTable and dt.Load(dr), as suggested by CPallini and CodeMaster_Noob; Wrapped the SqlDataReader in a using block, and told it to close the connection when finished; Added the required dr.Read() call before attempting to access values from the SqlDataReader; Replaced dr["ID"].ToString() with Convert.ToString(dr["ID"]), in case the column value is null; Quote:
这些代码有什么问题请帮助
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 ; }解决方案
以下是您的代码的固定版本: 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]); } } }
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"]); } } }
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, the DataTable is useless in your code.
更多推荐
为什么我的代码无法将值分配到文本框中....
发布评论