PDA

View Full Version : سوال در مورد جستجو اطلاعات



Asad.Safari
سه شنبه 30 تیر 1383, 17:34 عصر
با عرض سلام
من از این کدها برای پیدا کردن مشخصات کاربر استفاده می کنم

[code]
CREATE procedure [sp_search] @password nvarchar as
select password,email,name,family,tel,code,esponser from register where password=@password
GO
[code/]
واز این کد تو برنامه استفاده میکنم

[code]
<script runat="server" language="vb">
sub search(sender as object,e as eventargs)
dim strconnection as string="server=(local);database=pars;Integrated security=true;"
dim objconnection as new sqlconnection(strconnection)
dim objcommand as new sqlcommand("sp_search",objconnection)
objcommand.commandtype=commandtype.storedprocedure
dim objparameter as new sqlparameter("@password",sqldbtype.nvarchar,50)
objcommand.parameters.add(objparameter)
objparameter.direction=parameterdirection.input
objparameter.value=txtpassword.text
objconnection.open()
dgoutput.datasource=objcommand.executereader()
dgoutput.databind()
objconnection.close()
end sub
</script>
[code/]
اما ایرادی که داره بعضی از password ها کار میکنند
یعنی همه پسوردها رو قبول نمی کنه و اطلاعات بعضی از اونا رو بیرون میده
لطفا راه حل !!!! یا یه راه برای ساخت panel برای هر یوزر
با تشکر

sh_mohsen taki
دوشنبه 30 آبان 1384, 23:01 عصر
گمون کنم با فارسی هاش مشکل داشته باشی که اگه اینطوره باسد قبل از مقایسه با مقدار بانک حتما از Nاستفاده کنی و البته فیلدت هم Nvarchar باشه
"where @pass=N'"+pass.txt

Behrouz_Rad
دوشنبه 30 آبان 1384, 23:29 عصر
گمون کنم با فارسی هاش مشکل داشته باشی که اگه اینطوره باسد قبل از مقایسه با مقدار بانک حتما از Nاستفاده کنی و البته فیلدت هم Nvarchar باشه
"where @pass=N'"+pass.txt
زمانی که از پارامتر برای انتقال مقادیر به دیتابیس SQL Server استفاده می کنید، نیازی به استفاده از کاراکتر N ندارید چون داده ها به طور خودکار به شکل یونیکد منتقل خواهند شد.
بدان دلیل که نوع پارامتر ورودی از نوع یونیکد است.
و اما...
پیشنهاد می کنم که کلمات عبور را با الگوریتم MD5 به شکل رمز در آورده و از آنها استفاده کنید.
این تاپیک مربوط به 4 ماه پیش است!!!
موفق باشید.