sqlserver字符两端加号是什么意思还有单引号里的双引号

cunzhangdaren 2015-07-23 09:37:44
下面这段代码是c#登陆窗口的部分代码
skintextbox1 和skintextbox2分别是C#登录名和密码的控件

下面sql语句里admin_id和admin_psw为什么两边都要加加号,还有这两个字符已经有单引号了里边还要再用双引号括着。

string admin_id = skinTextBox1.Text;
string admin_psw = skinTextBox2.Text;

string str = @"Data Source=ZHANGCHI-PC\ZHANGCHI;Initial Catalog=test;User ID=sa;Password=123";

SqlConnection conn = new SqlConnection(str);
conn.Open();
string sql = "select count(*) from 登陆账号 where 账号='"+admin_id+"' and 密码='"+admin_psw+"'";
SqlCommand command = new SqlCommand(sql, conn);
int i = Convert.ToInt32(command.ExecuteScalar());
if (i > 0)//如果大于1,说明记录存在,登录成功
{

mainform f = new mainform();
this.Hide();
f.Show();
}
else
{
MessageBox.Show("用户名或者密码错误!");
}
conn.Close();
...全文
509 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cunzhangdaren 2015-07-24
  • 打赏
  • 举报
回复
引用 3 楼 wmxcn2000 的回复:
string sql = "select count(*) from 登陆账号 where 账号='"+admin_id+"' and 密码='"+admin_psw+"'"; + 号是为了连接两个字符串,这是 C# 的语法。 避免SQL 注入,你应该把 传过来的两个值,都简单的替换一下。 比如: replace(admin_id,"'","''") , 就是把一个单引号,替换成两个单引号。
还是不明白啊 sql不就是一个连续字符串吗,拼接是什么意思
卖水果的net 版主 2015-07-24
  • 打赏
  • 举报
回复
string sql = "select count(*) from 登陆账号 where 账号='"+admin_id+"' and 密码='"+admin_psw+"'"; + 号是为了连接两个字符串,这是 C# 的语法。 避免SQL 注入,你应该把 传过来的两个值,都简单的替换一下。 比如: replace(admin_id,"'","''") , 就是把一个单引号,替换成两个单引号。
无涯大者 2015-07-24
  • 打赏
  • 举报
回复
在SQL语句里面 字符串必须要有单引号‘’,在C# 里面 字符串要有 双引号“” .所有要这样用

select count(*) from 登陆账号 where 账号='" + admin_id + "' and 密码='" + admin_psw + "'
cunzhangdaren 2015-07-23
  • 打赏
  • 举报
回复
引用 1 楼 Landa_Ran 的回复:
加上+的意思是把页面传进来的admin_id 和 admin_psw 的值放在SQL语句里拼接起来,实际的SQL语句是这样的
select count(*) from 登陆账号 where 账号='admin_id' and 密码='admin_psw'
[" "]是C#语言的赋值规范 另:你这样的 登录会导致SQL注入攻击
也就是string sql不是标准的t-sql语句,这都是c#的语法规范吗,还有注入攻击是怎么回事,怎么才能避免那。谢谢指教了哈。
许晨旭 2015-07-23
  • 打赏
  • 举报
回复
加上+的意思是把页面传进来的admin_id 和 admin_psw 的值放在SQL语句里拼接起来,实际的SQL语句是这样的
select count(*) from 登陆账号 where 账号='admin_id' and 密码='admin_psw'
[" "]是C#语言的赋值规范 另:你这样的 登录会导致SQL注入攻击

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧