PDA

View Full Version : سوال: خطا در login



sajjad1365
چهارشنبه 22 اردیبهشت 1389, 19:54 عصر
سلام .من این کدها رو برای ورود به صفحه نوشتم ولی خطا داره.

string Connn;
Connn = "Data Source=.;Initial Catalog=forushgah;Integrated Security=True";
SqlConnection conectt = new SqlConnection(Connn);
SqlCommand cmdd = new SqlCommand();
conectt.ConnectionString = Connn;//مسير فايل
cmdd.Connection = conectt;//sqlconect
cmdd.CommandText = "select name,pass from users where name='" + n.Text + "' AND pass='" + Tpass.Text + "'";

SqlDataReader dr;
conectt.Open();
dr = cmdd.ExecuteReader();
if (dr.HasRows ==false)
.......ادامه کد
{
که قسمت dr = cmdd.ExecuteReader(); خطا میده
لطفا راهنمایی کنین
ممنون

Vahid_moghaddam
چهارشنبه 22 اردیبهشت 1389, 20:17 عصر
چه پیغام خطایی می گیرید؟ کانکشن برقرار می شه یا نه؟ متن خطا رو بذارید

Vahid_moghaddam
چهارشنبه 22 اردیبهشت 1389, 20:19 عصر
جدا از بحث خطا، اینطور select نوشتن به شدت شما رو در معرض sql injection قرار می ده

sajjad1365
چهارشنبه 22 اردیبهشت 1389, 23:09 عصر
سلام.
Exception Details: System.Data.SqlClient.SqlException: The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.

Source Error:

Line 34: SqlDataReader dr;Line 35: conectt.Open();Line 36: dr = cmdd.ExecuteReader();Line 37: if (dr.HasRows ==false)Line 38:
Source File: e:\پروژه مهندسی اینترنت\WebSite1\register.aspx.cs Line: 36

Vahid_moghaddam
پنج شنبه 23 اردیبهشت 1389, 07:41 صبح
type رو برای فیلدهای pass و name اگه از نوع ntext تعریف کردید (توی دیتابیس) تغییر بدید مثلا به nvarchar.

hojjatshariffam
یک شنبه 26 اردیبهشت 1389, 22:57 عصر
جدا از بحث خطا، اینطور select نوشتن به شدت شما رو در معرض sql injection قرار می ده
دوست عزیز میش در مورد SQL Injection ّیشتر توضیح بدین
من یه روش رو تازه یاد گرفتم که جلوشو ببندم ولی می دونم که خطرات زیادی داره
می شه مقاله ای اگه دارین برام بزارین؟

Vahid_moghaddam
دوشنبه 27 اردیبهشت 1389, 00:34 صبح
در مورد sql injection تو این سایت جستجو کنید. توی گوگل هم که صد البته!
سعی کنید از پارامترها در نوشتن دستورات sql استفاده کنید.

Vahid_moghaddam
دوشنبه 27 اردیبهشت 1389, 00:36 صبح
http://www.unixwiz.net/techtips/sql-injection.html

http://www.securiteam.com/securityreviews/5DP0N1P76E.html

Vahid_moghaddam
دوشنبه 27 اردیبهشت 1389, 00:38 صبح
http://www.barnamenevis.org/forum/showthread.php?t=68063

http://barnamenevis.org/forum/showthread.php?t=58414