0 امتیاز

دوستان عزیز یه برنامه دارم که هر ورودی یک id داره بر اساس مثلا آقایان رو با کد 1000 شروع کردم . خانم ها رو با 2000 و بچه ها رو با 3000 حالا میخوام یه combobox بذارم که مثلا آقا انتخاب کردم بره آخرین عدد ورودی 1000 رو پیدا کنه +1 کنه برام بیاره مثلا 1071 رو پیدا کنه که پر شده +1 بکنه بیاره برای تعریف نفر آقای جدید و غیره الان به صورت زیر هست باید خودم دستی پیدا کنم و بنویسم 

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

 

2 پاسخ

0 امتیاز

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

این اخرین رکورد رو برمیگردونه



select top 1 * from persons order by ID desc

برای جمع زدنش هم 
اینطوری عمل کنید

int id=1;

 id= (int)cmd1.ExecuteScalar();
id+=id;

 

 

یه مثال دیگه

 

SqlConnection cn = new SqlConnection("Data Source=Sourcename; initial catalog=LOGIN;Integrated security=true");
                    SqlCommand cmd = new SqlCommand("SELECT User_Name,User_Pass FROM User_LoginInfo where user_name='" + txtUserName.Text + "'", cn);
                    cn.Open();

                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows)
                    {
                        Label1.Text = "Please User other UserName this name is already In System.";
                        dr.Close();
                        
                    }
                    else
                    {
                        dr.Close();
                        string s = "insert into dbo.User_LoginInfo(User_Name,User_Pass) values(@uname,@upass)" +"Select Scope_Identity()";
                         int id;
                         cn.Close();
                         SqlConnection cn1 = new SqlConnection("Data Source=01-M4400-NPPATE; initial catalog=LOGIN;Integrated security=true");
                        SqlCommand cmd1 = new SqlCommand(s,cn1);
                        cmd1.Parameters.AddWithValue("@uname", UserName.Text);
                        cmd1.Parameters.AddWithValue("@upass", txtUserPass.Text);
                        cn1.Open();

                        id= (int)cmd1.ExecuteScalar();

                       cmd1.Dispose();
                       cn.Close();
                        cn1.Close();

 

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

الان در دیتا بیسم اطلاعات وارد کردم میخوام بره اطلاعات وارد شده رو چک کنه و آخرین عدد وارد شده بین 1000 تا 2000 رو پیدا کنه مثلا الان 1071 رو وارد کردم میزنم جدید خودش میره آخرین ورودی 3000 که الان 3055 هست رو میاره مجبورم دستی بکنم 1072 تا بتونم ثبت جدید بکنم .

 

یعنی تو تیبل id بگرده آخرین عدد وارد شده بین 1000 تا 2000 رو پیدا کنه بعد +1 کنه بیاره
توسط (103 امتیاز) 1 4
0 امتیاز

سلام

ببنید چیزی که مد نظر شماست همینه

اخرین رکورد 10 هست و نتیجه 11 رو نشون میده؟

 OleDbCommand cmd;
        OleDbConnection cnn;
        OleDbDataAdapter adap;
        private void Form1_Load(object sender, EventArgs e)
        {
            cnn = new OleDbConnection(connection);
          
            adap = new OleDbDataAdapter("Select * From tbltest Row", cnn);
            DataSet ds = new DataSet();
            adap.Fill(ds);
           
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
            int scor = 1;
           
            label1.Text = dataGridView1.Rows.Count.ToString();
            scor += Convert.ToInt32(label1.Text);
            label1.Text = scor.ToString();
        }
      

دانلود همین سمپل 

سلام خیلی خوشحالم با این سایت آشنا شدم که اینقدر خوب جوابگو هستین ....متشکرم

 

در مورد این جواب این سمپل کار نکرد .

فقط جسارتا یه خواهش دارم   یه سمپل درست کنید ورودی اطلاعات از 100 شروع بشه مثلا تا 108 بعد در ادامه با کد 200 ورود اطلاعات کنید تا 211 هر جفت  ورودی در یک table باشن نه دوتا table

یه combobox  بزارید که دوتا گزینه اول و دوم تعریف شده باشه  اکه اول رو انتخاب کردیم بره 108 رو پیدا کنه +1 کنه تو textbox1 بیاره و وقتی دوم رو انتخاب کردیم بره 211 رو پیدا کنه +1 کنه بیاره
توسط (103 امتیاز) 1 4
دوستان عزیز کسی نیست بتونه این مشکل رو حل بکنه
توسط (103 امتیاز) 1 4
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...