mycmd.Parameters.Append mypar.CreateParameter("id",129,1,18,"12465464546") 补充: 你用法不对。 mycmd.CommandText = "select * from[table]where id=?" mycmd.Parameters.Append mypar.CreateParameter("id",129,1,18,"12465464546") 补充: 没有这样用的。 你要非要这样用 就在里面加上declare @id bigint; set @id=? 补充: asp command对象有那么难嘛! 追问: 这个答案对了,就是这个答案。 可惜这也是匿名 参数化 查询,所以一般用法是完全没意义,在特定的情况下却可以用的很好。 OK了,这个答案我很喜欢了。 谢谢了哈 追问: 哈哈 上面的那些都很熟练了 只是我要做特殊用法的
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、靖宇网站维护、网站推广。
3、需要注意的地方有如下几点
1)在sqlserver中参数化sql语句是用“@”符号,在mysql里面需要是用?号,切记,切记.
2 )还有就是sqlserver中删除表可以这样写delete news where ID=12,但是在mysql里面 是delete from news where ID=12,收了from报错
3 )我在使用过程中遇到了中文乱码,网上大部分解决办法是把表的设置成utf-8字符集。以及 C:\Program Files\MySQL\MySQL Server 5.1路径下my.ini 打开找到两处
default-character-set 都设置成=utf8。
remarkvarchar(100))go--写入部分测试数据insertintooswica_test_table_1select1,
'oswica',''insertintooswica_test_table_1select2,
'stone',''insertintooswica_test_table_1select3,
'nana',''insertintooswica_test_table_1select4,
'nana',''go--建立存储过程createprocoswica_proc_querytestdata(@whereSqlnvarchar(max),
@paramNameListnvarchar(max),
@paramValueListnvarchar(max))asbegindeclare@exesqlnvarchar(max)
--生成查询语句set@exesql='EXECsp_executesqlN'
'select*fromoswica_test_table_1'
+@whereSql+''
',N'''+@paramNameList+''
','
+@paramValueList+''
print@exesqlexec(@exesql)endgo--执行存储过程execoswica_proc_querytestdataN
'whereid=@idandname=@name',N
'@idint,@namevarchar(50)',N
'@id=1,@name=''oswica'''go--结果
--EXECsp_executesqlN'select*fromoswica_test_table_1whereid=@idandname=@name',N'@idint,@namevarchar(50)',@id=1,@name='oswica'
--idnameremark
-------------------------------------------------------------------------------------------------------------------------------------------------------------------1oswica--说明
--实际上我们不推荐直接在存储过程中这么使用。因为这里还是存在执行代码里面有拼接sql的情况。
--最好的办法是在程序代码里面动态拼接好然后使用参数方式动态的根据实际参数个数传入参数,已
--实现即能够兼容参数化查询又能够拼接字符串。----建议
--按照上面的说法,我们可以拼接如下sql:
--select*fromoswica_test_table_1whereid=@idandname=@name
--然后按照拼接的参数个数使用SqlCommand的Parameters动态的添加2个参数:@id和@name来达到
--目的。而在编程语言中实现动态添加参数相对比较容易,或者通过实现sqlserver的CLR存储过程来
--达到这一目的。