View Full Version : انجام دو عمل insert و select از طریق csharp در یک لحظه
anahita6
چهارشنبه 23 اردیبهشت 1388, 18:44 عصر
سلام بچه ها
در برنامه من نیاز هست که وقتی رویداد کلیک یک button فراخوانی میشه دو عمل selectو insert بلا فاصله پشت هم انجام بگیره با توجه به اینکه من همیشه در هر رویداد فقط یک عمل رو انجام میدادم میخوام بدونم کدش چی میشه.
یا حداقل بگید command text چی میشه
مرسی
xcomlock
چهارشنبه 23 اردیبهشت 1388, 18:54 عصر
هیچی فرقی نمیکنه
شما دوتا عمل رو پشت سر هم در یه رویداد قرار بده مثل کلیک قرار بده
hsmfaridmehr
چهارشنبه 23 اردیبهشت 1388, 18:57 عصر
میشه علت این کارت رو توضیح بدی؟واسه چی میخوای اول Select کنی و بعد Insert?
البته واسه انجامش باید ی چیزی مثل اینو بنویسی احتمالا
command.CommandText = "SELECT * FROM Customer WHERE CustomerID =" + _customerID;
customerDataAdapter.SelectCommand = command;
customerDataAdapter.SelectCommand.ExecuteNonQuery( );
command.CommandText = "INSERT INTO Customer (CustomerID, FirstName, LastName, " +
"Address, PhoneNumber1, phoneNumber2, CustomerDetail, CustomerSince) VALUES (" + _customerID + ", '" +
_firstName + "', '" + _lastName + "', '" + _address + "', '" + _phoneNumber1 + "', '" +
_phoneNumber2 + "', '" + _customerDetail + "', '" + _customerSince + "')";
command.ExecuteNonQuery();
anahita6
چهارشنبه 23 اردیبهشت 1388, 19:13 عصر
نه دوست عزیز من عکس این کار رو میخوام انجام بدم یعنی اول insert lمیکنم بعد به منظور refresh کردنselectمیکنم تا مقادیر به گرید اضافه بشه.
فقط با این روشی که شما گفتی مشکل پیش نمیآأ؟ یعنی هر 2 کار رو با هم انجام میده؟
hsmfaridmehr
چهارشنبه 23 اردیبهشت 1388, 19:37 عصر
واسه این کار بهتره هر کدوم از عملیات های Select Insert Update Delete
رو توی یک تابع بنویسی و داخل رویداد Click توابع مورد نظرت رو
صدا بزنی و مشکلی هم پیش نمیاد
anahita6
چهارشنبه 23 اردیبهشت 1388, 20:05 عصر
کدی که من نوشتم اینه حالا comandtextدوم رو کجا قرار بدم؟
try
{
SqlConnection con = new SqlConnection(strcon);
SqlCommand com = new SqlCommand();
com.CommandText = "select [article] as 'نام کالا' , [shopkeeper] as 'خریدار',[date] as 'تاریخ', id as 'کد کالا'from tsq";
com.Connection = con;
SqlDataAdapter adapt = new SqlDataAdapter(com);
DataTable dt = new DataTable();
adapt.Fill(dt);
dataGridView1.DataSource = dt;
label5.Text = dataGridView1.RowCount.ToString();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message, "خطا");
}
hsmfaridmehr
چهارشنبه 23 اردیبهشت 1388, 20:23 عصر
مثلا می تونی این طوری استفاده کنی
privateDataTable SelectData()
{
SqlConnection con = newSqlConnection(strcon);
SqlCommand com = newSqlCommand();
DataTable dt = newDataTable();
SqlDataAdapter adapt;
try
{
com.CommandText = "select [article] as ' ' , [shopkeeper] as '',[date] as '', id as ' 'from tsq";
com.Connection = con;
adapt = newSqlDataAdapter(com);
adapt.Fill(dt);
return dt;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message, "");
}
finally
{
con.Close();
com.Dispose();
dt.Dispose();
adapt.Dispose();
}
}
privatebool AddData()
{
SqlConnection con = newSqlConnection(strcon);
SqlCommand com = newSqlCommand();
try
{
com.CommandText = "INSERT INTO tsq ([article] , [shopkeeper],[date], id) VALUES (@article,@shopkeeper,@data,@id)";
com.Connection = con;
com.ExecuteNonQuery();
returntrue;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message, "");
returnfalse;
}
finally
{
con.Close();
com.Dispose();
}
}
privatevoid button1_Click(object sender, EventArgs e)
{
if (AddData())
{
dataGridView1.DataSource = SelectData();
}
}
esmaeily-hosein
پنج شنبه 24 اردیبهشت 1388, 10:24 صبح
CREATE TABLE #tempTable(
Id int Identity Primary Key,
[Name] nvarchar(50)
);
DECLARE @tempTableVar table(
Id int,
[Name] nvarchar(50)
);
INSERT INTO #tempTable ([Name])
OUTPUT INSERTED.Id,
INSERTED.Name
INTO @tempTableVar
Values('name Value')
SELECT *
FROM @tempTableVar;
-----------------------------
DROP TABLE #tempTable
اوبالیت به بو
پنج شنبه 24 اردیبهشت 1388, 11:15 صبح
http://barnamenevis.org/forum/showpost.php?p=642219&postcount=14
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.