PDA

View Full Version : سوال: پر شدن خودکار اطلاعات دیتابیس در فرم یا گرید ویو با ثبت مثلا کد مشتری یا آی دی



famall
پنج شنبه 24 مهر 1399, 20:00 عصر
سلام دوستان - تو بعضی از نرم افزار های حسابداری شاید دیده باشید مثلا تو فرم فاکتور جلوی کد مشتری یک عدد وارد میکنید و که اون عدد تو دیتا بیس رف داره به اطلاعات مشتری و وقتی اون کد یا آی دی یا عدد و وارد میکنیم به صورت خودکار بقیه تکست باکس ها یا اطلاعات مشتری به صورت خودکار از روی دیتا بیس خوانده میشه و در جای خودش نوشته میشه - میخوام لطف کنید و بگید چطور میشه این کار رو در سی شارپ و فرم انجام داد - مثلا یه تکست باکس بزارم و کد مربوطه را وارد کنم و اطلاعاتی که من تعین میکنم از اون جدول مشخص مربوط به اون کد خوانده بشه و وارد تکست باکس ها یا هر چیز دیگه بشه مثلا تکست باکس یا گرید ویو بشه .

famall
جمعه 25 مهر 1399, 09:46 صبح
دوستان و اساتید محترم یعنی واقعا کسی نیست جواب سوال من و بده ؟ من اولین سوال و پستم و داخل این سایت گذاشتم لطفا نا امیدم نکنید :قلب:

daniyaltjm
جمعه 25 مهر 1399, 13:56 عصر
سلام ، باید یک متد درست کنی و از جدول یا جداول یه کوری بگیری که هر جا فلان ID بود این فیلد هایی که میخوای رو واکشی کنی و توی دیتا گرید یا لیبل یا تکس باکس نمایش بدی.

famall
یک شنبه 27 مهر 1399, 08:20 صبح
ممنون دوست عزیز - میشه لطفا یه مثال بزنید ببخشیدا -

ROSTAM2
یک شنبه 27 مهر 1399, 10:21 صبح
سلام دوستان - تو بعضی از نرم افزار های حسابداری شاید دیده باشید مثلا تو فرم فاکتور جلوی کد مشتری یک عدد وارد میکنید و که اون عدد تو دیتا بیس رف داره به اطلاعات مشتری و وقتی اون کد یا آی دی یا عدد و وارد میکنیم به صورت خودکار بقیه تکست باکس ها یا اطلاعات مشتری به صورت خودکار از روی دیتا بیس خوانده میشه و در جای خودش نوشته میشه - میخوام لطف کنید و بگید چطور میشه این کار رو در سی شارپ و فرم انجام داد - مثلا یه تکست باکس بزارم و کد مربوطه را وارد کنم و اطلاعاتی که من تعین میکنم از اون جدول مشخص مربوط به اون کد خوانده بشه و وارد تکست باکس ها یا هر چیز دیگه بشه مثلا تکست باکس یا گرید ویو بشه .

با سلام. شما باید کاربا دیتابیس و کوئری ها رو یاد بگیرید برای این کار اطلاعات دیتابیس رو طبق یک شرط فیلتر می کنند و اطلاعات جدول جدید رو توی برنامه نمایش می دن.

famall
یک شنبه 27 مهر 1399, 12:21 عصر
کوئری زدن در حدی که کار خودم و راه بندازم بلدم - این مورد واکشی اطلاعات و نمیدونم چطور بنویسم - یه مثال میخوام همین - لطف کنید یه مثال برام بزنید ممنون میشم - منظورم اینه توی استرینگ که میسازم تو سی شارپ چطور باید نوشت که وقتی من یه آی دی و از دیتا بیس میزنم به صورت خودکار بقیه دیتا گرید ویو فیلداش پر بشه - من مشکلی با پر کردن اطلاعات دیتا گرید ویو ندارم - یه کوئری ساده میزنی و اطالاعات وارد میشه من منظورم اینه چطور بر اساس یک آی دی یا یک کد مثل کد کلید اصلی داخل دیتا بیس مثلا ما یه مشتری داریم کد مشتریش هست 102 میخوام وقتی کد مشتری 102 رو داخل فیلد یا تکست باکس یا گرید ویو وارید میکنم بقیه اطلاعات همین مشتری مثل نام فامیلی شماره و الی آخر که همه این اطلاعاات داخل دیتابیس هست و به صورت اتوماتیک خودش نمایش بده و داخل فیلد های مربوطه پر کنه

daniyaltjm
یک شنبه 27 مهر 1399, 19:52 عصر
فرض کن یک جدول داری با id,useName,lastName,tel حالا توی برنامت مبیخوای یک تکست باکس باشه و id رو وارد کنی و مشخصات توی بقیه فیلدها پر بشن:

یک تابع ساده که همه کارها رو انجام میده:


public void GetData(string id)
{
try
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Daniyal\source\repos\DBtest\DBtest \bin\Debug\DB.mdb");
OleDbCommand com = new OleDbCommand("select * from tblUser where ID=@id", con);
con.Open();
com.Parameters.Clear();
com.Parameters.AddWithValue("@id", id);
OleDbDataAdapter adp = new OleDbDataAdapter(com);
DataTable dt = new DataTable();
adp.Fill(dt);
con.Close();
txtname.Text = dt.Rows[0][1].ToString();
txtlast.Text = dt.Rows[0][2].ToString();
txttel.Text = dt.Rows[0][3].ToString();
}
catch
{
MessageBox.Show("اطلاعاتی یافت نشد", "خطا",MessageBoxButtons.OK,MessageBoxIcon.Error);
}

}


و توی رویداد کلیک دکمه جستجو مثلا فراخوانیش میکنیم:



private void button1_Click(object sender, EventArgs e)
{


GetData(txtid.Text);


}

M.sheaikhzadeh
دوشنبه 28 مهر 1399, 07:33 صبح
این هم یک پروژه آماده فقط باید دیتابیس رو اتچ کنی و کانکشن استرینگ رو تغییر بدی.
152344

famall
سه شنبه 29 مهر 1399, 08:33 صبح
دوستان عزیز یک دنیا ممنون و سپاسگذار هستم از دو دوست خوب که محبت کردن و جواب دادن .