作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MySqlConnection con = new MySqlConnection("host=db4free.net;user=*;password=*;database=*;");
MySqlCommand xcmd = new MySqlCommand("SELECT x FROM members WHERE id='" + Login.idd + "';");
xcmd.Connection = con;
xint.Connection = con;
DataTable dt = new DataTable();
con.Open();
xcmd.ExecuteNonQuery();
int xx = (int)xcmd.ExecuteScalar();
xcmd.Connection.Close();;
xcmd.Dispose();
x = xx;
con.Close();
if (x == 2)
{
button6.BackgroundImage = Properties.Resources.logo;
}
我希望程序从数据库中读取 X 的值,将其添加到变量中,然后如果它等于 2 则显示 Logo ...
最佳答案
在您的原始代码中,有一些不需要的位;例如,DataTable、xint 命令和 ExecuteNonQuery(例如,用于执行仅从数据库更新/插入/删除的操作,并且不返回结果)
using(MySqlConnection con = new MySqlConnection("host=db4free.net;user=*;password=*;database=*;"))
{
using(MySqlCommand xcmd = new MySqlCommand("SELECT x FROM members WHERE id=@loginid;"))
{
xcmd.connection = con;
xcmd.Parameters.AddWithValue("@loginid", Login.idd);
con.Open();
int x = Convert.ToInt32(xcmd.ExecuteScalar());
//Do something with x
if(x == 2)
{
button6.BackgroundImage = Properties.Resources.logo;
}
}
}
如果您打算进行这种类型的数据访问,我建议 parameterizing您的查询,并使用 ' using '声明。
第一个将有助于防止 SQL 注入(inject)攻击,而第二个将确保当您离开各个 block 的范围时处理非托管资源。
关于时间:2019-03-17 标签:c#DBColumnValues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943770/
MySqlConnection con = new MySqlConnection("host=db4free.net;user=*;password=*;database=*;"); MyS
我是一名优秀的程序员,十分优秀!