0 امتیاز
سلام خسته نباشید

پروژه ی من فرم کتاب خانه است  میخوام وقتی تو فرم امانت یا تحویل شماره عضوو میزنم اطلاعت دیگه مث نام و نام خانوادگی عضو رو خودش از جدول عضو بخونه و نشون بده کدشو چطور باید نویسم؟؟

یه سوال دیگه هم داشتم مربوط به همین فرم امانت  میخام کدی بنویسم که یه عضو  نتونه یشتر از دوتا کتاب به امانت ببره

لطفا راهنماییم کنید کدشو چه  جوری بنویسم

1 پاسخ

+1 امتیاز

سلام دوست عزیز

 میتونی برای نشون دادن دیتابیس توی تکست باکس از این کد استفاده کنی

http://s9.picofile.com/file/8319916676/test.rar.html

البته برای تحویل کتاب مثلا کمتر  از 2 عدد راههای زیادی هست متداولترین روش چک کردن تکست باکس هست

که من یه پروژه براتون نوشتم امیدوارم استفادهکنید

 

این کدها اطلاعات دیتابیس رو که به گرید ویو متصل هستن رو در تکست باکس فراخوانی میکنن

  textBox1.Text = dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString();
                textBox2.Text = dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString();
                textBox3.Text = dataGridView1[2, dataGridView1.CurrentRow.Index].Value.ToString();
                textBox4.Text = dataGridView1[3, dataGridView1.CurrentRow.Index].Value.ToString();
                textBox5.Text = dataGridView1[4, dataGridView1.CurrentRow.Index].Value.ToString();


********************************************************************************************************

اینم روش ثبت اطلاعات با در نظر گرفتن تعداد کتاب تحویلی
  int txtbook = 0;
        private void button1_Click(object sender, EventArgs e)
        {
             txtbook =int.Parse(textBox4.Text);//فیلد تحویل کتاب
            if (txtbook >= 3)
            {
                MessageBox.Show("بیشتر از 2عدد نیتوان تحویل داد");
                return;
            }
            else
            {
                OleDbConnection conn = new OleDbConnection(conected);
                OleDbCommand cmd = new OleDbCommand("Insert Into tbltest (stdname,Lname,book,mail)Values(@nam,@famil,@book,@mail)", conn);


                cmd.Parameters.AddWithValue("@nam", textBox2.Text);
                cmd.Parameters.AddWithValue("@famil", textBox3.Text);
                cmd.Parameters.AddWithValue("@book", textBox4.Text);
                cmd.Parameters.AddWithValue("@mail", textBox5.Text);

                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
                MessageBox.Show("ok");
            }
           
            FillDataGrid();
            txtclear();
        }

 

ممنون از راهنمایتون

این کدی که من برای امانت دادن کتاب  بدون در نظر گرفتن شرط استفاده کردم

SqlConnection con = new SqlConnection("Data Source=.\\SQL;AttachDbFilename=C:\\Users\\ARYA\\Documents\\ketab.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
        
        //    ثبت در فرم امانت دادن کتاب
            SqlCommand cmd = new SqlCommand();
           SqlDataAdapter da = new SqlDataAdapter();
           cmd.Connection = con;
            cmd.CommandText = "INSERT INTO AMANATDADAN VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')";
          cmd.CommandText = string.Format(cmd.CommandText, textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, maskedTextBox1.Text,maskedTextBox2.Text,textBox6.Text);
         da.InsertCommand = cmd;
           con.Open();
         cmd.ExecuteNonQuery();
          MessageBox.Show("اطلاعات با موفقیت ثبت شد");
          con.Close();
           Form5_Load(null, null);

این کدی که شما دادین با این کد اسفاده کنم یا خودش کامله؟

اگه امکانش هست این کدو برام کامل کنید.
ویرایش شده توسط
توسط (103 امتیاز) 2

کد شما رو اصلاح کردم تست هم شد

اما اگه میخایید پیشرفت کنید لازمه متدهای دیگری برای ثبت اطلاعات یاد  بگیرید

دیتابیس اکسس هیچ مشکلی نداره براحتی رمزنگاری و رمزگذاری میشه چند میلیون اطلاعات رو داده کاوی میکنه اون پیچیدگی sql رو نداره

مشکل اکثر فقط در دسترسی همزامان هستش اونم نه برای یه شبکه کوچیک حداقل توی اداره یا شرکت که چند تا کامپیوتر داره برای کاربران کلاینت عالیه بک اپ گیریش هم مانند کپی هست

خلاصه منظورم این بود که با اکسس شروع کن

من کلا با اکسس کار میکنم برای پروژه های بسیار بزرگ sql لازمه لازمه بدونید sqlite هم خوبه

اما اخرین نکته نمیدونم بنده اینطور فکر میکنم یا واقعا اینطوریه اگه نیست اساتید بیزحمت نظر بدن

توی ویژوال استویو 2008 دیتابیس بسیار سریع بوده و حتی من ایرادی توش ندیدم و موقع ستاپ هم بدون دردسر دیتابیس رو به همراه پروژه ایمپورت میکنه اما از اون ورژن به اینور پروژه هایی که دیتابیس دارن موقع ستاپ گیری ماژول prerequisties هیچ ستاپی رو درست تحویل نمیده باید از ادونس اینستالر یا شیلد باید استفاده کرد

 

*********************************************************************

{0}

برای خانه اول یا همون خونه ای دی پارامتری نذاشتم  اون خودش خودکارAUTO INCREMENT شماره هارو ادامه میده

توی تیبل و propertiesگزینه Ident برابر عکس زیر اون گزینه ها رو true یا yes باید باشن 

اکه نتونستی درست کنی بگو کدرو اضافه کنم

 

  int txtbook = 0;
            txtbook = int.Parse(textBox4.Text);//تکست باکس4 همون فیلد کتابه
            if (txtbook >= 3)
            {
                MessageBox.Show("بیشتر از 2عدد نمیتوان تحویل داد");
                return;
            }
            else
            {
                SqlConnection conn = new SqlConnection("Data Source=.\\SQL;AttachDbFilename=C:\\Users\\ARYA\\Documents\\ketab.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
                SqlCommand cmd = new SqlCommand("Insert Into AMANATDADAN (stdname,Lname,book,mail)Values('{1}','{2}','{3}','{4}')", conn);

                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
               
            }

                       
          MessageBox.Show("اطلاعات با موفقیت ثبت شد");
     
         Form5_Load(null, null);

 

 

 

ویرایش شده توسط
توسط (7,164 امتیاز) 4 7 141
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...