federrer
پنج شنبه 20 تیر 1387, 19:17 عصر
من یه برنامه ساده نوشتم که هدفم فقط insert کردن اطلاعات هست .اگه ممکنه راهنمایی کنید.
این کدها رو نوشتم تا از دو تا textbox بتونم تو دو فیلد متناظر عمل insert دیتا رو انجام بدم
string CS = (string)ConfigurationManager.AppSettings["Connectionstring"];
SqlConnection Cnn = new SqlConnection(CS);
Cnn.Open();
SqlCommand Cmd = new SqlCommand("spinsert", Cnn);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.Add(new SqlParameter("@A", SqlDbType.Nvarchar));
Cmd.Parameters["@A"].Value = text1.text.ToString();
Cmd.Parameters.Add(new SqlParameter("@B", SqlDbType.Nvarchar));
Cmd.Parameters["@B"].Value = text2.text.ToString();
Cmd.ExecuteNonQuery();
l2.Text = Cmd.Parameters["@A"].Value.ToString();
l3.Text = Cmd.Parameters["@B"].Value.ToString();
Cnn.close();
مقادیر پاراترهای A@ و B@ در l2 و l3 نشون داده میشه و مشکلی در انتقال اطلاعات نیست
ظاهرا همه چیز درسته .مثلا با کوچکترین "دستکاری عمدی" پیغام خطا میده ولی عمل insert انجام نمیشه .
مثل اینکه ExecuteNonQuery روی آبجکت Cmd درست انجام نمیشه
از پروسیجر زیر استفاده کردم
ALTER PROCEDURE dbo.spinsert
(
@A Nvarchar(50),
@B Nvarchar(50)
)
AS
INSERT INTO Register(Name,Family) VALUES(@A,@B)
Return
بطور دستی می تونم تو تیبل دیتا وارد کنم .جالب اینجاست که قبلا همین کدها رو در Webapp تست کردم و جواب گرفتم در Winapp هیچ پیغام خطایی نمی ده ولی چیزی هم insert نمیشه !!!! :ناراحت:
این کدها رو نوشتم تا از دو تا textbox بتونم تو دو فیلد متناظر عمل insert دیتا رو انجام بدم
string CS = (string)ConfigurationManager.AppSettings["Connectionstring"];
SqlConnection Cnn = new SqlConnection(CS);
Cnn.Open();
SqlCommand Cmd = new SqlCommand("spinsert", Cnn);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.Add(new SqlParameter("@A", SqlDbType.Nvarchar));
Cmd.Parameters["@A"].Value = text1.text.ToString();
Cmd.Parameters.Add(new SqlParameter("@B", SqlDbType.Nvarchar));
Cmd.Parameters["@B"].Value = text2.text.ToString();
Cmd.ExecuteNonQuery();
l2.Text = Cmd.Parameters["@A"].Value.ToString();
l3.Text = Cmd.Parameters["@B"].Value.ToString();
Cnn.close();
مقادیر پاراترهای A@ و B@ در l2 و l3 نشون داده میشه و مشکلی در انتقال اطلاعات نیست
ظاهرا همه چیز درسته .مثلا با کوچکترین "دستکاری عمدی" پیغام خطا میده ولی عمل insert انجام نمیشه .
مثل اینکه ExecuteNonQuery روی آبجکت Cmd درست انجام نمیشه
از پروسیجر زیر استفاده کردم
ALTER PROCEDURE dbo.spinsert
(
@A Nvarchar(50),
@B Nvarchar(50)
)
AS
INSERT INTO Register(Name,Family) VALUES(@A,@B)
Return
بطور دستی می تونم تو تیبل دیتا وارد کنم .جالب اینجاست که قبلا همین کدها رو در Webapp تست کردم و جواب گرفتم در Winapp هیچ پیغام خطایی نمی ده ولی چیزی هم insert نمیشه !!!! :ناراحت: