نمایش نتایج 1 تا 8 از 8

نام تاپیک: عمل نکردن یک خط SQL

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    بندرعباس
    پست
    77

    Question عمل نکردن یک خط SQL

    سلام دوستان من یه خط SQL دارم که نمیدونم چرا کار نمیکنه کدشو میزارم یع نگاه بندازین .



    uname:=Tuser.Text;
    pass:=Tpass.Text;
    try
    DM.ADOQ.Close;
    DM.ADOQ.SQL.Clear;
    DM.ADOQ.SQL.Add('SELECT * FROM `tbl_user_fa` WHERE `fld_User_Name` LIKE "'+uname+'" AND `fld_Password` LIKE "'+pass+'" AND `fld_Access_Level` = 0 AND `fld_Co_Code` = 0');
    DM.ADOQ.Open;
    //** if ComBo.ItemIndex = 0 then
    //**begin
    //**Fusers.Show;
    //**Login.Hide;
    //**end;
    //** if ComBo.ItemIndex = 1 then
    //** begin
    //** Fusers.Show;
    //** Login.Hide;
    //** end;

    except
    begin
    ShowMessage('نام کاربری یا رمز عبور اشتباه میباشد');
    end;




    حالا مشکل من اینه که نمیدونم چرا اصلا فرقی نمیکنه که یوز و پسورد چی بهش بدی هرچی بدی قبول میکنه و Login انجام میشه .

    دوستان اشکال کار رو پیدا کردن راهنمایی کنن . ممنون .

  2. #2
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: عمل نکردن یک خط SQL

    کجای کد یوزر و پاس چک می کنه؟
    و بعد وقتی Like میزاری یک حرف user و pass درست وارد بشه اون user انتخاب میشه باید از = استفاده کنی

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    بندرعباس
    پست
    77

    نقل قول: عمل نکردن یک خط SQL

    ممنون سعید جان ، یادم رفت بگم دیتابیسم MySQL هست البته فکر نکم فرقی داشته باشه ، ولی من این کد رو از خود Mysql برداشتم و جایگذین کردم ، ولی خوب با = هم چک کردم نشد بازم همینطوره :(

  4. #4
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: عمل نکردن یک خط SQL

    شما کد ننوشتی که USER و PAS چک کنه
    شما فقط یک SELECT زدین و دیگه دنباله اش نرفتین که ببینید چیزی SELECT شده یا نه یک IF کم داری

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    بندرعباس
    پست
    77

    نقل قول: عمل نکردن یک خط SQL

    سعید جان توی دستور بالا WHERE وظیفش همینه دیگه !! باید یک سری از پارامتر هارو چک کنه . من 4 تا پارامتر بهش دادم که اصلا به هیچ کدوم توجهی نمیشه .
    اما در مورد if اگه منظورت اینه که query رو شرط بزارم که try و except اینکارو انجام میده و اگه منظورت برای وجود داشتن یوزر و پس ، if بزارم که بازم WHERE باید اینکارو انجام بده ، البته با IF میشه انجام داد و سرو تهش رو جم کرد ولی مشکل من اینجاست که چرا دستورات رو اجرا نمیکنه ؟!!

  6. #6
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: عمل نکردن یک خط SQL

    بله where وظیفه اش همینه. ولی باید شرطی هم بزاری که ببینی نتیجه کوئری چی شده یا نه؟ باید بدونی رکوردی انتخاب شده یا نه؟
    در ضمن گفتم like نباید بزاری = بزار

  7. #7
    کاربر دائمی آواتار AmirSky
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    تهران
    پست
    216

    نقل قول: عمل نکردن یک خط SQL

    این کد ها خیلی اشکال داره یکی اینکه از like استفاده کردی
    دوم اینکه پسورد رو بدون اینکه کد بشه داخل دیتابیس چک میشه
    سوم اینکه ای کاش میگفتی از این کد ها در کجا استفاده میکنی . اگه این کد ها فقط داخل فرم لاگین باشند در هرصورت لاگین انجام میشه.
    باید در صورت اشتباه بودن پسورد یا نام کاربر یک مقدار به فرم اصلی ارسال بشه تا فرم اصلی برنامه نمایش داده نشه.
    باز هم اگه مشکلی بود بگو نمونه کد بزارم

  8. #8

    نقل قول: عمل نکردن یک خط SQL

    نقل قول نوشته شده توسط opluse مشاهده تاپیک
    سعید جان توی دستور بالا WHERE وظیفش همینه دیگه !! باید یک سری از پارامتر هارو چک کنه . من 4 تا پارامتر بهش دادم که اصلا به هیچ کدوم توجهی نمیشه .
    شما چه طوری متوجه شده که هیچ توجهی نمیکنه ؟
    اون وظیفش رو انجام میده یعنی پارامت رها رو چک میکنه .
    نقل قول نوشته شده توسط opluse مشاهده تاپیک
    اما در مورد if اگه منظورت اینه که query رو شرط بزارم که try و except اینکارو انجام میده
    دستور شرطی Ifچه ربطی داره به دستور فرمانی کنترل خطای try ، except ؟
    if برای شزطی کردن انجام دادن یا ندادن کاری است و try ، except برای کنترل رویداد خطای احتمالی در اجرای دستور های درون این دو فرمان .
    نقل قول نوشته شده توسط opluse مشاهده تاپیک
    اگه منظورت برای وجود داشتن یوزر و پس ، if بزارم که بازم WHERE باید اینکارو انجام بده ، البته با IF میشه انجام داد و سرو تهش رو جم کرد ولی مشکل من اینجاست که چرا دستورات رو اجرا نمیکنه
    منظورشون اینه که دستوری نوشتی بر این اساس که برود در جدول ردیف داده ای رو پیدا کنه که با شرایط شما برابری داشته باشه و اون ردیف داده رو در ADO بارگذاری کنه، خوب حالا نمی خوای به بینی که این ADO بنده خدا چه کار شده و آیا داده ای درونش است و یا نیست که بر اساس اون کاری انجام بشه .

    این دستور شرطی که در ادمه برای کومبو نوشتی از کجا اومده ؟

    فکر کنم خیلی برنامه و سیستم رو هوشمند در نظر گرفتی انتظار داری از فکر شما رو بخونه و کار انجام بده .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •