请问这句SQL语句是什么意思啊 update tb_employee Set employeePhoto=@photo where employeeID='wang' 请问这句SQL语句中的@photo是什么意思啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是参数然后你定义参数如,这样不用拼接sql,能一定范围内防止注入/// <summary> /// 增加一条数据 /// </summary> public void Add(ZZULI.Model.Tlogin model) { StringBuilder strSql=new StringBuilder(); strSql.Append("insert into login("); strSql.Append("username,password,whoadd,addtime)"); strSql.Append(" values ("); strSql.Append("@username,@password,@whoadd,@addtime)"); SqlParameter[] parameters = { new SqlParameter("@username", SqlDbType.NVarChar,60), new SqlParameter("@password", SqlDbType.NVarChar,60), new SqlParameter("@whoadd", SqlDbType.NVarChar,50), new SqlParameter("@addtime", SqlDbType.NVarChar,20)}; parameters[0].Value = model.username; parameters[1].Value = model.password; parameters[2].Value = model.whoadd; parameters[3].Value = model.addtime; DbHelperSQL.ExecuteSql(strSql.ToString(),parameters); } 是参数,因为我们如果直接使用字符串的话往里面写入select语句也可以作为sql语句运行,所以使用参数的话可以讲写入的sql语句变成普通字符串运行 declare @photo varchar(20)--变量set @photo='某个值'update tb_employee Set employeePhoto=@photo where employeeID='wang' SqlConnection conn=new sqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\NORTHWND.MDF;Integrated Security=True;User Instance=True"); string SQL = "update tb_employee Set employeePhoto=@photo where employeeID='wang' ";//构造Sql语句 SqlCommand cmd=new sqlCommand(SQL,conn); cmd.Parameters.Add("@photo",SqlDbType.varchar,100);//声明 cmd.Parameters["@photo"].Value=this.TextBox1.Text.Trim();//赋值 @photo是一个参数,这样我们可以随机的对@photo进行不同的赋值,这样可以增加程序的可用性和扩展性。 @photo就是一个变量,可能在前面已经定义过了,然后在这条语句里把 employeeID='wang' 的employeePhoto重新赋值为@photo 这是参数化查询,可以防止SQL注入式攻击。 全局变量表@@CONNECTIONS 返回自上次启动以来连接或试图连接的次数。 @@CURSOR_ROWS 返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)@@DATEFIRST 返回每周第一天的数字 @@ERROR 返回最后执行的SQL 语句的错误代码。 @@FETCH_STATUS 返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。 @@IDENTITY 返回最后插入的标识值 @@LANGID 返回当前所使用语言的本地语言标识符(ID)。 @@LANGUAGE 返回当前使用的语言名。 @@LOCK_TIMEOUT 返回当前会话的当前锁超时设置,单位为毫秒。 @@PROCID 返回当前过程的存储过程标识符 (ID) 。 @@ROWCOUNT 返回受上一语句影响的行数。 @@SERVERNAME 返回运行 的本地服务器名称。 @@SPID 返回当前用户进程的服务器进程标识符 (ID)。 @@TRANCOUNT 返回当前连接的活动事务数。 @@VERSION 返回当前安装的日期、版本和处理器类型。@@CPU_BUSY返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒@@DATEFIRST返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几@@DBTS返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的@@ERROR返回执行Transact-SQL 语句的错误代码@@FETCH_STATUS返回上一次FETCH 语句的状态值@@IDLE返回自SQL Server 最近一次启动以来CPU 处于空闭状态的时间长短单位为毫秒@@IO_BUSY返回自SQL Server 最近一次启动以来CPU 执行输入输出操作所花费的时间其单位为毫秒@@LANGID返回当前所使用的语言ID 值@@LANGUAGE返回当前使用的语言名称@@LOCK_TIMEOUT返回当前会话等待锁的时间长短其单位为毫秒@@MAX_CONNECTIONS返回允许连接到SQL Server 的最大连接数目@@MAX_PRECISION返回decimal 和numeric 数据类型的精确度@@NESTLEVEL返回当前执行的存储过程的嵌套级数初始值为0@@OPTIONS返回当前SET 选项的信息@@PACK_RECEIVED返回SQL Server 通过网络读取的输入包的数目@@PACK_SENT返回SQL Server 写给网络的输出包的数目@@PACKET_ERRORS返回网络包的错误数目@@PROCID返回当前存储过程的ID 值@@REMSERVER返回远程SQL Server 数据库服务器的名称@@SERVICENAME返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent@@SPID返回当前用户处理的服务器处理ID 值@@TEXTSIZE返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节@@TIMETICKS返回每一时钟的微秒数@@TOTAL_ERRORS返回磁盘读写错误数目@@TOTAL_READ返回磁盘读操作的数目@@TOTAL_WRITE返回磁盘写操作的数目@@TRANCOUNT返回当前连接中处于激活状态的事务数目 @photo是一个参数,这样我们可以随机的对@photo进行不同的赋值,这样可以增加程序的可用性和扩展性。 参数 SqlCommand sc=new SqlCommand();sc.Parameters.Add("@photo",SqlDataType.VarBinary).Value=xxx;//... C#不支持ARM开发? c#如何将int类型 写入流?(int类型如何得到byte数组) Chart的GetToolTipText事件里怎样得到ToolTip文本内容? C# ADO.NET Access 为啥更 新不了表,帮帮忙,在线等 代码哪里错拉 MD5问题 Visual Studio如何开启实时错误提示? 一个简单的问题,请多指教 为什么从没看到有人用delphi midas这些技术来开发三层系统呢 winform程序最小化时如何显示在Win7任务栏上 Excel导出问题 VS2008 单元测试工程
如,这样不用拼接sql,能一定范围内防止注入/// <summary>
/// 增加一条数据
/// </summary>
public void Add(ZZULI.Model.Tlogin model)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into login(");
strSql.Append("username,password,whoadd,addtime)");
strSql.Append(" values (");
strSql.Append("@username,@password,@whoadd,@addtime)");
SqlParameter[] parameters = {
new SqlParameter("@username", SqlDbType.NVarChar,60),
new SqlParameter("@password", SqlDbType.NVarChar,60),
new SqlParameter("@whoadd", SqlDbType.NVarChar,50),
new SqlParameter("@addtime", SqlDbType.NVarChar,20)};
parameters[0].Value = model.username;
parameters[1].Value = model.password;
parameters[2].Value = model.whoadd;
parameters[3].Value = model.addtime; DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
}
set @photo='某个值'
update tb_employee Set employeePhoto=@photo where employeeID='wang'
string SQL = "update tb_employee Set employeePhoto=@photo where employeeID='wang' ";//构造Sql语句
SqlCommand cmd=new sqlCommand(SQL,conn);
cmd.Parameters.Add("@photo",SqlDbType.varchar,100);//声明
cmd.Parameters["@photo"].Value=this.TextBox1.Text.Trim();//赋值
@photo是一个参数,这样我们可以随机的对@photo进行不同的赋值,这样可以增加程序的可用性和扩展性。
的employeePhoto重新赋值为@photo
全局变量表
@@CONNECTIONS
返回自上次启动以来连接或试图连接的次数。 @@CURSOR_ROWS
返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)
@@DATEFIRST
返回每周第一天的数字 @@ERROR
返回最后执行的SQL 语句的错误代码。 @@FETCH_STATUS
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。 @@IDENTITY
返回最后插入的标识值 @@LANGID
返回当前所使用语言的本地语言标识符(ID)。 @@LANGUAGE
返回当前使用的语言名。 @@LOCK_TIMEOUT
返回当前会话的当前锁超时设置,单位为毫秒。 @@PROCID
返回当前过程的存储过程标识符 (ID) 。 @@ROWCOUNT
返回受上一语句影响的行数。 @@SERVERNAME
返回运行 的本地服务器名称。 @@SPID
返回当前用户进程的服务器进程标识符 (ID)。 @@TRANCOUNT
返回当前连接的活动事务数。 @@VERSION
返回当前安装的日期、版本和处理器类型。@@CPU_BUSY
返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒@@DATEFIRST
返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几@@DBTS
返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的@@ERROR
返回执行Transact-SQL 语句的错误代码@@FETCH_STATUS
返回上一次FETCH 语句的状态值@@IDLE
返回自SQL Server 最近一次启动以来CPU 处于空闭状态的时间长短单位为毫秒@@IO_BUSY
返回自SQL Server 最近一次启动以来CPU 执行输入输出操作所花费的时间其单位为毫秒@@LANGID
返回当前所使用的语言ID 值@@LANGUAGE
返回当前使用的语言名称@@LOCK_TIMEOUT
返回当前会话等待锁的时间长短其单位为毫秒@@MAX_CONNECTIONS
返回允许连接到SQL Server 的最大连接数目@@MAX_PRECISION
返回decimal 和numeric 数据类型的精确度@@NESTLEVEL
返回当前执行的存储过程的嵌套级数初始值为0@@OPTIONS
返回当前SET 选项的信息@@PACK_RECEIVED
返回SQL Server 通过网络读取的输入包的数目@@PACK_SENT
返回SQL Server 写给网络的输出包的数目@@PACKET_ERRORS
返回网络包的错误数目@@PROCID
返回当前存储过程的ID 值@@REMSERVER
返回远程SQL Server 数据库服务器的名称@@SERVICENAME
返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent@@SPID
返回当前用户处理的服务器处理ID 值@@TEXTSIZE
返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节@@TIMETICKS
返回每一时钟的微秒数@@TOTAL_ERRORS
返回磁盘读写错误数目@@TOTAL_READ
返回磁盘读操作的数目@@TOTAL_WRITE
返回磁盘写操作的数目@@TRANCOUNT
返回当前连接中处于激活状态的事务数目
@photo是一个参数,这样我们可以随机的对@photo进行不同的赋值,这样可以增加程序的可用性和扩展性。
sc.Parameters.Add("@photo",SqlDataType.VarBinary).Value=xxx;
//...