clever student
چهارشنبه 25 شهریور 1388, 03:02 صبح
من میخوام بعد ازاینکه کاربر مشخصات کالایی رو درج کرد شناسه رکورد ثبت شده رو
ببینه ممکنه تمام اطلاعاتی که وارد میکنه تکراری باشه به غیر از شناسه که کلید اصلی جدوله
وauto increment
query که مینوسم تو sql جواب میده یعنی شناسه اخرین رکورد درج شده رو میده ولی تو برنامه به خط
label14.Text=dr1["id_invoice"].ToString();
ایراد میگیره
اگه تو query هم max رو ننویسم شناسه اولین رکورد رو میده
(من اخری و میخوام )لطفا راهنمایی کنید
SqlDataReader dr1;
//{
if ((textBox5.Text != "") && (textBox4.Text != "") && (textBox3.Text != "")
&& (comboBox6.Text != "") && (comboBox5.Text != "") && (comboBox4.Text != ""))//&& (!invoice.CurrentRow.IsNewRow)
{
String strsql, strsql1;
string strcon;
strcon = "Data Source=.;Initial Catalog=garner;Integrated Security=True";
con = new SqlConnection(strcon);
if (y == 1)
{
strsql = "insert into invoice(id_method,id_half,fact_import,id_storekeep er,date_invoce,id_transfer,comment)values(1,@id_ha lf,@fact_import,@id_storkeeper,@date_invoice,@id_t ransfer,@comment)";
//if (con.State == System.Data.ConnectionState.Closed)
con.Open();
SqlCommand com1 = new SqlCommand(strsql, con);
com1.Parameters.Add("@id_half", SqlDbType.NVarChar);
com1.Parameters["@id_half"].Value = textBox5.Text;
com1.Parameters.Add("@fact_import", SqlDbType.NVarChar);
com1.Parameters["@fact_import"].Value = textBox1.Text;
com1.Parameters.Add("@id_storkeeper", SqlDbType.NVarChar);
com1.Parameters["@id_storkeeper"].Value = textBox4.Text;
com1.Parameters.Add("@date_invoice", SqlDbType.NVarChar);
com1.Parameters["@date_invoice"].Value = comboBox6.Text + "/" + comboBox5.Text + "/" + comboBox4.Text;
com1.Parameters.Add("@id_transfer", SqlDbType.NVarChar);
com1.Parameters["@id_transfer"].Value = textBox3.Text;
com1.Parameters.Add("@comment", SqlDbType.NVarChar);
com1.Parameters["@comment"].Value = richTextBox1.Text;
com1.ExecuteNonQuery();
//if (con.State == System.Data.ConnectionState.Open)
con.Close();
MessageBox.Show("ثبت اطلاعات با موفقيت انجام شد", "اطلاعات ثبت", MessageBoxButtons.OK, MessageBoxIcon.Information);
pictureBox5.Enabled = false;
}
else
{
strsql1 = "insert into invoice(id_method,id_half,id_storekeeper,date_invo ce,id_transfer,comment)values(2,@id_half,@id_stork eeper,@date_invoice,@id_transfer,@comment)";
//if (con.State == System.Data.ConnectionState.Closed)
con.Open();
SqlCommand com = new SqlCommand(strsql1, con);
com.Parameters.Add("@id_half", SqlDbType.NVarChar);
com.Parameters["@id_half"].Value = textBox5.Text;
com.Parameters.Add("@id_storkeeper", SqlDbType.NVarChar);
com.Parameters["@id_storkeeper"].Value = textBox4.Text;
com.Parameters.Add("@date_invoice", SqlDbType.NVarChar);
com.Parameters["@date_invoice"].Value = comboBox6.Text + "/" + comboBox5.Text + "/" + comboBox4.Text;
com.Parameters.Add("@id_transfer", SqlDbType.NVarChar);
com.Parameters["@id_transfer"].Value = textBox3.Text;
com.Parameters.Add("@comment", SqlDbType.NVarChar);
com.Parameters["@comment"].Value = richTextBox1.Text;
com.ExecuteNonQuery();
//if (con.State == System.Data.ConnectionState.Open)
con.Close();
MessageBox.Show("ثبت اطلاعات با موفقيت انجام شد", "اطلاعات ثبت", MessageBoxButtons.OK, MessageBoxIcon.Information);
pictureBox5.Enabled = false;
}}
string strcon1;
strcon1 = "Data Source=.;Initial Catalog=garner;Integrated Security=True";
SqlConnection con1 = new SqlConnection(strcon1);
string strsql2 = "select max(id_invoice) from invoice";
//if (con1.State == System.Data.ConnectionState.Closed)
con1.Open();
SqlCommand com2 = new SqlCommand(strsql2, con1);
dr1 = com2.ExecuteReader();
if (dr1.Read())
{
//textBox6.Enabled = true;
// textBox6.Text = dr1["id_invoice"].ToString();
label14.Text=dr1["id_invoice"].ToString();
con1.Close();
}
else
MessageBox.Show("لطفا اطلاعات را كنترل كنيد و دوباره سعي كنيد
ببینه ممکنه تمام اطلاعاتی که وارد میکنه تکراری باشه به غیر از شناسه که کلید اصلی جدوله
وauto increment
query که مینوسم تو sql جواب میده یعنی شناسه اخرین رکورد درج شده رو میده ولی تو برنامه به خط
label14.Text=dr1["id_invoice"].ToString();
ایراد میگیره
اگه تو query هم max رو ننویسم شناسه اولین رکورد رو میده
(من اخری و میخوام )لطفا راهنمایی کنید
SqlDataReader dr1;
//{
if ((textBox5.Text != "") && (textBox4.Text != "") && (textBox3.Text != "")
&& (comboBox6.Text != "") && (comboBox5.Text != "") && (comboBox4.Text != ""))//&& (!invoice.CurrentRow.IsNewRow)
{
String strsql, strsql1;
string strcon;
strcon = "Data Source=.;Initial Catalog=garner;Integrated Security=True";
con = new SqlConnection(strcon);
if (y == 1)
{
strsql = "insert into invoice(id_method,id_half,fact_import,id_storekeep er,date_invoce,id_transfer,comment)values(1,@id_ha lf,@fact_import,@id_storkeeper,@date_invoice,@id_t ransfer,@comment)";
//if (con.State == System.Data.ConnectionState.Closed)
con.Open();
SqlCommand com1 = new SqlCommand(strsql, con);
com1.Parameters.Add("@id_half", SqlDbType.NVarChar);
com1.Parameters["@id_half"].Value = textBox5.Text;
com1.Parameters.Add("@fact_import", SqlDbType.NVarChar);
com1.Parameters["@fact_import"].Value = textBox1.Text;
com1.Parameters.Add("@id_storkeeper", SqlDbType.NVarChar);
com1.Parameters["@id_storkeeper"].Value = textBox4.Text;
com1.Parameters.Add("@date_invoice", SqlDbType.NVarChar);
com1.Parameters["@date_invoice"].Value = comboBox6.Text + "/" + comboBox5.Text + "/" + comboBox4.Text;
com1.Parameters.Add("@id_transfer", SqlDbType.NVarChar);
com1.Parameters["@id_transfer"].Value = textBox3.Text;
com1.Parameters.Add("@comment", SqlDbType.NVarChar);
com1.Parameters["@comment"].Value = richTextBox1.Text;
com1.ExecuteNonQuery();
//if (con.State == System.Data.ConnectionState.Open)
con.Close();
MessageBox.Show("ثبت اطلاعات با موفقيت انجام شد", "اطلاعات ثبت", MessageBoxButtons.OK, MessageBoxIcon.Information);
pictureBox5.Enabled = false;
}
else
{
strsql1 = "insert into invoice(id_method,id_half,id_storekeeper,date_invo ce,id_transfer,comment)values(2,@id_half,@id_stork eeper,@date_invoice,@id_transfer,@comment)";
//if (con.State == System.Data.ConnectionState.Closed)
con.Open();
SqlCommand com = new SqlCommand(strsql1, con);
com.Parameters.Add("@id_half", SqlDbType.NVarChar);
com.Parameters["@id_half"].Value = textBox5.Text;
com.Parameters.Add("@id_storkeeper", SqlDbType.NVarChar);
com.Parameters["@id_storkeeper"].Value = textBox4.Text;
com.Parameters.Add("@date_invoice", SqlDbType.NVarChar);
com.Parameters["@date_invoice"].Value = comboBox6.Text + "/" + comboBox5.Text + "/" + comboBox4.Text;
com.Parameters.Add("@id_transfer", SqlDbType.NVarChar);
com.Parameters["@id_transfer"].Value = textBox3.Text;
com.Parameters.Add("@comment", SqlDbType.NVarChar);
com.Parameters["@comment"].Value = richTextBox1.Text;
com.ExecuteNonQuery();
//if (con.State == System.Data.ConnectionState.Open)
con.Close();
MessageBox.Show("ثبت اطلاعات با موفقيت انجام شد", "اطلاعات ثبت", MessageBoxButtons.OK, MessageBoxIcon.Information);
pictureBox5.Enabled = false;
}}
string strcon1;
strcon1 = "Data Source=.;Initial Catalog=garner;Integrated Security=True";
SqlConnection con1 = new SqlConnection(strcon1);
string strsql2 = "select max(id_invoice) from invoice";
//if (con1.State == System.Data.ConnectionState.Closed)
con1.Open();
SqlCommand com2 = new SqlCommand(strsql2, con1);
dr1 = com2.ExecuteReader();
if (dr1.Read())
{
//textBox6.Enabled = true;
// textBox6.Text = dr1["id_invoice"].ToString();
label14.Text=dr1["id_invoice"].ToString();
con1.Close();
}
else
MessageBox.Show("لطفا اطلاعات را كنترل كنيد و دوباره سعي كنيد