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

نام تاپیک: خواندن یوزر نیم و پسورد از تیبل !

  1. #1

    خواندن یوزر نیم و پسورد از تیبل !

    سلام
    دوستان یه فرم لاگین داریم که یوزر نیم و پسورد رو از کاربر میگیره
    و یه تیبل داریم که فیلد username password داره و
    یوزر نیم و پسورد هر دو داخل تیبل admin هست
    حالا تو فرم لاگین چه کدی باید بنویسیم که چک کنه یوزر نیم و پسورد وارد شده صحیح هست !

  2. #2
    کاربر تازه وارد آواتار hosaini
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شیراز
    سن
    43
    پست
    40

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    سلام
    یه اسکالر کوئری بزن مقدار را برگردون بعدش صحتشو برسی کن
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using BehComponents;

    namespace LoabIranCo.Forms
    {
    public partial class frmLogin : Form
    {
    public frmLogin()
    {
    InitializeComponent();
    }

    private short trys = 0;
    private void glassPanel1_Paint(object sender, PaintEventArgs e)
    {

    }

    private void buttonX2_Click(object sender, EventArgs e)
    {
    GC.Collect();
    Application.ExitThread();
    }

    private void frmLogin_Load(object sender, EventArgs e)
    {
    textBoxX1.Focus();
    int PintSessionID = 0;
    try
    {
    PintSessionID = Convert.ToInt32(a08TableAdapter.SP0218());
    }
    catch
    {
    if (PintSessionID <= 50)
    {
    this.LabelServerNotFound.Visible = true;
    MessageBoxFarsi.Show("باتوجّه به اینکه ارتباط با سِرویس دهندۀ اصلی برقرارنشد، از نرم افزار خارج می شوید",
    "سرویس دهنده", MessageBoxFarsiButtons.OK, MessageBoxFarsiIcon.Error);
    Application.ExitThread();
    }
    }
    //this.a02TableAdapter.Fill(this.a01DataSet.A02);
    //this.a08TableAdapter.Fill(this.a01DataSet.A08);
    this.view_A02TableAdapter.Fill(this.lobIranTDataSe t.View_A02);
    foreach (DataRow LdrChangeRow in lobIranTDataSet.View_A02.Rows)
    {
    LdrChangeRow.SetField("A02A03",
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A02"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey)
    + ' ' +
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A03"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey));
    }

    }

    private void FillFieldsOnFly()
    {
    foreach (DataRow LdrChangeRow in lobIranTDataSet.View_A02.Rows)
    {
    LdrChangeRow.SetField("A02",
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A02A03"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey));
    LdrChangeRow.SetField("A03",
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A03"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey));
    LdrChangeRow.SetField("A04",
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A04"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey));
    LdrChangeRow.SetField("A07",
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A07"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey));
    LdrChangeRow.SetField("A08",
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A08"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey));
    LdrChangeRow.SetField("A09",
    AS.GetHashDehashString(LdrChangeRow.Field<string>( "A09"), AS.GstringHashMode,
    false, (AS.GstringHashKey == null) ? "" : AS.GstringHashKey));
    }
    }
    private void buttonX1_Click(object sender, EventArgs e)
    {
    trys += 1;
    string LstringHashedPassword = AS.GetHashDehashString(textBoxX2.Text, AS.GstringHashMode,
    true,
    (AS.GstringHashKey == null) ? "" : AS.GstringHashKey);
    int LintWich = 0;
    //if (Convert.ToBoolean(view_A02TableAdapter.SP0069((in t?)this.comboBoxName.SelectedValue, LstringHashedPassword)))//اگر رمز صحیح بصورت هَش شده مقایسه شده باشد
    if (Convert.ToBoolean(view_A02TableAdapter.SP0069(AS. GetHashDehashString(this.textBoxX1.Text, AS.GstringHashMode,
    true,
    (AS.GstringHashKey == null) ? "" : AS.GstringHashKey), LstringHashedPassword)))//اگر رمز صحیح بصورت هَش شده مقایسه شده باشد
    {
    LintWich = 1;
    }
    else if (Convert.ToBoolean(view_A02TableAdapter.SP0069(thi s.textBoxX1.Text, textBoxX2.Text)))//اگر رمز صحیح بصورت ساده مقایسه شده باشد
    {
    LintWich = 2;
    }
    if (LintWich != 0)
    {
    /*
    * ذخیرۀ سَراسَریِ شناسۀ کاربر
    */
    AS.UserID =
    (LintWich == 1) ?
    (int?)view_A02TableAdapter.SP0170(AS.GetHashDehash String(this.textBoxX1.Text, AS.GstringHashMode,
    true,
    (AS.GstringHashKey == null) ? "" : AS.GstringHashKey), LstringHashedPassword)
    :
    (int?)view_A02TableAdapter.SP0170(this.textBoxX1.T ext, textBoxX2.Text);//ذخیرۀ سَراسَریِ شناسۀ کاربر
    /*
    * ذخیرۀ سَراسَریِ حقوقِ دَسترسی
    */
    AS.masterTrustString =
    (LintWich == 1) ?
    (string)view_A02TableAdapter.SP0171(AS.GetHashDeha shString(this.textBoxX1.Text, AS.GstringHashMode,
    true,
    (AS.GstringHashKey == null) ? "" : AS.GstringHashKey), LstringHashedPassword)
    :
    (string)view_A02TableAdapter.SP0171(this.textBoxX1 .Text, textBoxX2.Text);
    try
    {
    view_A22GTableAdapter.SP0214(lobIranTDataSet.View_ A22G, AS.UserID);
    }
    catch
    {
    }
    string LstringGroupTrusts;
    short LshortLstringGroupTrustsPosition;
    int LintLstringGroupTrustsLenght;
    string LstringFirstPart;
    char LcharMidleCharacter;
    string LstringLastPart;
    foreach (DataRow LdrChangeRow in lobIranTDataSet.View_A22G.Rows)
    {
    LstringGroupTrusts = LdrChangeRow.Field<string>("A02A05");
    LintLstringGroupTrustsLenght = LstringGroupTrusts.Length;
    for (LshortLstringGroupTrustsPosition = 0; LshortLstringGroupTrustsPosition < LintLstringGroupTrustsLenght; LshortLstringGroupTrustsPosition++)
    {
    if (AS.isTrusted(LshortLstringGroupTrustsPosition, LstringGroupTrusts))
    {
    LstringFirstPart = (LshortLstringGroupTrustsPosition == 0)
    ? ""
    : AS.masterTrustString.Substring(0, LshortLstringGroupTrustsPosition);
    LcharMidleCharacter = LstringGroupTrusts[LshortLstringGroupTrustsPosition];
    LstringLastPart = AS.masterTrustString.Substring(LshortLstringGroupT rustsPosition + 1);
    AS.masterTrustString = LstringFirstPart +
    LcharMidleCharacter + LstringLastPart;
    }
    }
    }

    a02TableAdapter.SP0222(AS.UserID, true);//افزایش یک واحد به تعداد دفعات حضورِ فعّال در نِشَستها
    this.Close();
    }
    else
    {

    //balloonTip1_BalloonDisplaying(null, null);
    MessageBoxFarsi.Show("نام کاربری یا گذرواژه نادرست است", "نادرست", MessageBoxFarsiButtons.OK, MessageBoxFarsiIcon.Error);
    this.textBoxX2.Focus();
    this.textBoxX2.SelectAll();
    if (trys >= 3)//از تعداد دفعات مجاز برای تلاش ورود بیشترشده است و خاتمۀ برنامه می باشد
    {
    Application.ExitThread();
    }
    return;
    }
    }

    private void frmLogin_Shown(object sender, EventArgs e)
    {
    textBoxX1.Focus();
    AS.masterTrustString = new String(Convert.ToChar(AS.charEven()), 1000);
    if (AS.UserID != null)
    {

    //this.comboBoxName.SelectedValue = AS.UserID;
    }
    }

    private void textBoxX2_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Return)
    {
    this.buttonX1.Focus();
    }
    }

    private void textBoxX1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Return)
    {
    this.textBoxX2.Focus();
    }
    }
    }
    }

  3. #3

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    ممنون این کد خیلی زیاده
    این رو از اینترنت پیدا کردم

    SqlConnection sconn = new SqlConnection("User ID=Username;Password=Password;Initial Catalog=DB Name;Data Source=ServerName/IP");


    Form1 formOne = new Form1();


    Successful SuccessForm = new Successful();


    sconn.Open();


    DataSet ds = new DataSet();


    SqlDataAdapter da = new SqlDataAdapter("select * from users where username ='" + TxtUsr.Text + "' and password='" + TxtPwd.Text + "'", sconn);


    da.Fill(ds);


    int count = ds.Tables[0].Rows.Count;


    if(count==0)


    {


    MessageBox.Show("Invalid UserID/Password");


    }


    else


    {


    this.Visible = false;


    SuccessForm.Visible = true;


    }


    sconn.Close();



    اما این قسمت رو نمیشناسه

      int count = ds.Tables[0].Rows.Count;

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    بوشهر-بندر دیلم
    پست
    353

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    سلام

    اول اینا رو تعریف میکنی


    SqlCommand com = new SqlCommand();
    SqlDataAdapter da = new SqlDataAdapter();
    SqlDataAdapter da1 = new SqlDataAdapter();
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();



    بعد تو رویداد کلیک دکمت این رو مینویسی


    da = new System.Data.SqlClient.SqlDataAdapter("select * from administrator where user_name=@username", con);
    da.SelectCommand.Parameters.AddWithValue("@usernam e", txtusername.Text);
    da.Fill(kar.ds,"administrator");
    da1 = new System.Data.SqlClient.SqlDataAdapter("select * from administrator where pass=@password", con);
    da1.SelectCommand.Parameters.AddWithValue("@passwo rd", txtpassword.Text);
    da1.Fill(kar.dt);
    if (kar.ds.Tables["administrator"].Rows.Count > 0)
    {
    if (kar.dt.Rows.Count > 0)
    {
    menu formmenu = new menu();
    formmenu.Show();
    this.Hide();
    }
    else
    {
    MessageBox.Show("رمز عبور وارد شده اشتباه است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    }
    else
    {
    MessageBox.Show("نام کاربری وارد شده اشتباه است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

  5. #5

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    دوست عزیز تو این خط

    da.Fill(kar.ds,"administrator");


    kar چی هست ؟؟از کجا تعریف شده

  6. #6

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    این روش کار میکنه اما وقتی میگم form1 که ازش نمونه سازی کردم رو نمایش بده فقط یه لحظه نمایشش میده و بسته میشه؟؟؟؟؟؟؟؟

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    namespace project_uni_azad_
    {
    public partial class Login : Form
    {
    public Login()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {


    Form1 n = new Form1();
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "server=localhost;database=workshop;integrated security=true";
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandText = "SELECT * FROM tbl_admin WHERE username='" + textBox1.Text + "'AND Password='" + textBox2.Text + "'";
    SqlDataReader reader = null;
    con.Open();
    reader = cmd.ExecuteReader();
    if (reader.HasRows)
    {
    reader.Read();

    MessageBox.Show("Successfully Logged in");

    con.Close();

    this.Close();
    n.Show();

    }

    else
    {
    MessageBox.Show("Username or Password is Wrong");

    }

    }


    }
    }



  7. #7

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    جواب شما خلاصه میشه در:
    1- ارتباط با بانک
     SqlConnection conn=new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=databaseFullN  ame;Integrated Security=True;Connect Timeout=30;User Instance=True");
    conn.Open();

    2- چک کردن اینکه کاربری با این نام کاربری و رمز در جدول admin وجود دارد یا خیر
                SqlCommand cmd = new SqlCommand("select * from admin where username=@user and password=@pass", conn);
    cmd.Parameters.Add("@user", SqlDbType.Int).Value = int.Parse(txt_user.Text);
    cmd.Parameters.Add("@pass", SqlDbType.NVarChar).Value = txt_pass.Text;
    int rowCount = cmd.ExecuteNonQuery();
    if (rowCount > 0)
    {
    //...har kari ke dar sorate dorost budan bayad anjam beshe
    }
    else
    {
    //...har kari ke dar sorate dorost Nabudan bayad anjam beshe
    }

    الف:وجود دارد: پس ضمن حفظ مشخصات کاربر اون رو به فرم مخصوص کاربران عضو هدایت می کنیم(یا هر کاری که باید در صورت درست بودن اطلاعات انجام بشه)
    ب: وجود ندارد: پس غلط بودن اطلاعات وارد شده را به کاربر اعلام کن
    آخرین ویرایش به وسیله AvantGarde : جمعه 10 آذر 1391 در 14:20 عصر

  8. #8

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    ممنون خوب بود اینم

    اما کد بالا که گذاشتم چرا در صورت درست بودن یوزر نیم و پسورد یه لحظه فرم رو نشون میده و میبندتش

  9. #9

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    اقای AvantGarde کدی که شما دادی یه مشکلی داره

    وقتی اجرا میکنم خطا
    ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.
    میده

    شما تو این خط گفتی
    cmd.Parameters.Add("@user", SqlDbType.Int).Value = int.Parse(txt_user.Text);


    یوزر نیم باید عد باشه
    حالا اگه یوزر نیم admin بود؟؟؟؟

  10. #10

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    دوست عزیز

    ساده ترین کد ممکن اینه


    using System.Data.SqlClient;
    namespace Sample
    {
    public partial class Form1 : Form
    {
    SqlConnection cnn=new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True");
    SqlCommand cmd;

    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    cnn.Close();
    cnn.Open();
    cmd = new SqlCommand("select count(*) from accounts where username=@user and password=@pass", cnn);
    cmd.Parameters.AddWithValue("@user", txt_username.Text);
    cmd.Parameters.AddWithValue("@pass", txt_password.Text);
    int r = (int)cmd.ExecuteScalar();
    if (r != 0)
    {
    Form2 frm = new Form2();
    this.Hide();
    frm.Show();
    }

    else
    {
    MessageBox.Show("نام کاربری یا رمز عبور اشتباه می باشد","توجه",MessageBoxButtons.OK,MessageB oxIcon.Error);
    txt_password.Focus();
    }

    }


    }
    }




    کد دوستمون AvantGarde هم درسته اما مشکلش اینه که به صورت ExecuteNonQuery برگشت داده که در نتیجه هیچی برگشت داده نمیشه

    دوتا فیلد استفاده شده توسط من (Username و Password) که در جدول Accounts هستن از نوع Nvarchar معرفی شدن.

    موفق باشی
    بایت بایت


  11. #11

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    ممنون کد شما رو هم امتحان میکنم

    اما عجیبه این کد ظاهرا مشکل نداره اما یوزر نیم و پسورد رو درست وارد میکنم میگه صحیح نیست!!!!! کسی میتونه مشکلو پیدا کنه

    private void kryptonButton1_Click(object sender, EventArgs e)
    {
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "server=localhost;database=shop;integrated security=true";

    frmsabt frmshow = new frmsabt();

    con.Open();

    DataSet ds = new DataSet();

    SqlDataAdapter da = new SqlDataAdapter("select * from tbl_admin where user ='" + txt1.Text + "' and password='" + txt2.Text + "'", con);

    da.Fill(ds);

    int a = ds.Tables[0].Rows.Count;
    if (a == 0)
    {

    MessageBox.Show("Invalid UserID/Password");

    }


    else
    {

    this.Visible = false;


    frmshow.Visible = true;


    }

    con.Close();

    }
    }
    }

  12. #12

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    دوسا عزیز Youuness کد شما رو اضافه کردم درست شد ! من قبلا نوع فیلدامو به این شکل زده بودم

    من یه user دارم با تایپ nchar(10)
    یه password با تایپ nvarchar(50)
    یه ایدی با تایپ numeric(18, 0)

    اما الان
    به این شکل تغیر دادم درست شد

    یه یوزر نیم با تایپ nvarchar
    یه پسورد با تایپ nvarchar

    نوع فیلد چه تاثیری داره تو اجرا کد بالا

    یه سوال دیگه ای که دارم یه کمی توضیح در مورد این خط که چیکار میکنه
    int r = (int)cmd.ExecuteScalar();
    if (r != 0)

  13. #13

    نقل قول: خواندن یوزر نیم و پسورد از تیبل !

    با سلام مجدد

    من بهت توصیه میکنم یه فیلد سطح دسترسیم درست کن و تو select سطح دسترسی رو برگردون تا بشه کاربرا رو مدیریت کرد.مثلا یه فیلد به اسم access و از نوع int و داخلش از 0 تا هرچقدر سطح داری بزار مثلا رئیس 0 ,مدیران 1,کارشناسان 2,کارمندان 3 و ...
    بعد توسط کد بیا سطح دسترسی رو بگیر و بعد از بررسی اون رو اعمال کن

    اینم سمپل کدش :

    private void button1_Click(object sender, EventArgs e)
    {
    try
    {
    cnn.Close();
    cnn.Open();
    cmd = new SqlCommand("select access from accounts where username=@user and password=@pass", cnn);
    cmd.Parameters.AddWithValue("@user", txt_username.Text);
    cmd.Parameters.AddWithValue("@pass", txt_password.Text);
    object r = cmd.ExecuteScalar();
    if (r != null)
    {
    switch ((int)r)
    {
    case 0:
    //// محدودیت های رئیس
    break;
    case 1:
    /// اعمال محدودیت های معاون
    break;
    }

    Form2 frm = new Form2();
    this.Hide();
    frm.Show();
    }

    else
    {
    MessageBox.Show("نام کاربری یا رمز عبور اشتباه می باشد", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Error);
    txt_password.Focus();
    }
    }
    catch { }

    }



    حالا جوابهای سوالات:
    1.تو user رو nchar(10) تعریف کرده بودی که این اشتباس اولش شاید بیشتر از 10تا نام کاربری بخواد بزاره,بعدم در صورتی که نام کاربری 4 حرفیم بزاره مثلا هادی بقیه فضا فاصله میخوره یعنی اندازه 4 حرف نمیشه و همیشه 10تا حرفه و وقت تستم باید 6تا فاصله به اون نام کاربری 4حرفی اضافه کنی.

    2.من تو کد Sql گفتم تعداد سطرهای پیدا شده رو برگردون (Select count(*)) حالا این دستور رو با ExecuteScalar که فرمانیه به این معنی که باید چیزی رو برگشت بدی میفرستم به دیتابیس,مقدار برگشتی از دیتابیس به صورت Object هست اما من تعداد رو میخوام که باید از نوع int باشه پس میام اونو تبدیل به int میکنم.

    اگه نام کاربری و رمز عبور من اشتباه باشه بهم 0 برگشت داده میشه (یعنی صفرتا پیدا شده) اما اگه صحیح باشه یک عدد برمیگردونه(یا این رمز عبور و نام کاربری یک رکورد پیدا شد) پس من میام r رو بررسی میکنم اگه نامساوی با صفر باشه یعنی رکوردی پیدا شده.

    موفق باشی
    بایت بایت


تاپیک های مشابه

  1. حرفه ای: انتقال متن به فیلد یوزر نیم و پسورد در Remote Desktop
    نوشته شده توسط kitcat_m18 در بخش برنامه نویسی مرتبط با شبکه و وب در VB6
    پاسخ: 1
    آخرین پست: یک شنبه 12 تیر 1390, 21:39 عصر
  2. پاسخ: 2
    آخرین پست: یک شنبه 08 خرداد 1390, 11:43 صبح
  3. پاسخ: 2
    آخرین پست: چهارشنبه 06 مرداد 1389, 20:27 عصر
  4. گرفتن یوزر نیم و پسورد اتصال به شبکه
    نوشته شده توسط nima_dir در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 05 اردیبهشت 1388, 12:08 عصر
  5. گرفتن یوزر نیم و پسورد کانکشن اینترنت
    نوشته شده توسط Und3rzir0 در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: چهارشنبه 27 شهریور 1387, 00:42 صبح

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

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