PDA

View Full Version : Must declare the scalar variable @code



bagher3466
سه شنبه 20 آذر 1386, 17:51 عصر
این کد


SqlConnection cnn = newSqlConnection(System.Configuration.Configuratio nManager.ConnectionStrings["expert"].ConnectionString);

SqlCommand cmd = newSqlCommand("
INSERT INTO ExpertsMan
(code, fname, family)
VALUES(@code,@fname,@family)
", cnn)

cmd.Parameters.AddWithValue("@code", (int)Session["code"]);
cmd.Parameters.AddWithValue("@fname", txtName.Text);
cmd.Parameters.AddWithValue("@family", txtFamily.Text);

cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();



این پیغام خطا



Must declare the scalar variable "@fname".



مشکل کجاست؟:عصبانی++::گریه:

abadanboy
سه شنبه 20 آذر 1386, 18:06 عصر
فکر کنم نوع datatype @fname با مقدار ورودیت نمی خونه و بعد از Textیه .Trim() هم بزار پارامترهای ورودی تعریف نشده

Behrouz_Rad
سه شنبه 20 آذر 1386, 18:08 عصر
این طرز نوشتن دستورات SQL صحیح نیست.
از Stored Procedure استفاده کنید.
شما پارامترهای ورودی رو تعریف نکردید.


Create Procedurea myProcedure
(
@code int,
@fname nvarchar(50),
@family nvarchar(50)
)
AS
INSERT INTO ExpertsMan(code,fname,family) VALUES(@code,@fname,@family)
GO


موفق باشید.

bagher3466
سه شنبه 20 آذر 1386, 18:34 عصر
از جوابهایی که دادید ممنون. ولی چیزی که اینجا عجیبه اینه که من توی 5 تا صفحه دیگه با همین روش دیتاهای فرم هام رو توی دیتابیس اینزرت میکنم ولی نمی دونم اینجا چرا مشکل داره:متفکر:

اینم یه نمونه کد که جواب میده



SqlCommand cmd = newSqlCommand("INSERT INTO projects (Code, field, implementationPlace, estimate, summary, comments, Confirms)VALUES(" +
" @Code, @field, @implementationPlace, @estimate, @summary, @comments, @Confirms)", cnn);
cmd.Parameters.AddWithValue("@Code", code);
cmd.Parameters.AddWithValue("@field", txtField.Text);
cmd.Parameters.AddWithValue("@implementationPlace", txtImplementationPlace.Text);
cmd.Parameters.AddWithValue("@estimate", txtEstimate.Text);
cmd.Parameters.AddWithValue("@summary", txtSummary.Text);
cmd.Parameters.AddWithValue("@comments", txtComments.Text);
cmd.Parameters.AddWithValue("@Confirms", false);

cmd.ExecuteNonQuery();

Response.Redirect("default.aspx");
cnn.Close();

mamoor
یک شنبه 21 آبان 1391, 21:23 عصر
sسلام منم ایم مشکلو دارم اما نمیدونم دقیقا آیا من باید متغیر کد رو دوباره مقدار بدم یا نه ؟ یعنی کد من مثل
bagher3466 (http://barnamenevis.org/member.php?46899-bagher3466)
http://barnamenevis.org/images/statusicon/user-offline.png است و من نمی دونم کجاشو باید تغییر بدم آقا اگه میشه جواب بدید.ممنون
چون من با کدم تو اکسس مشکل ندارم .اینو تو اس کیو ال دارم .

saeed_sho
دوشنبه 22 آبان 1391, 18:44 عصر
از استورد پروسیجر استفاده کنید

mhq1368
دوشنبه 22 آبان 1391, 20:06 عصر
این کد


SqlConnection cnn = newSqlConnection(System.Configuration.Configuratio nManager.ConnectionStrings["expert"].ConnectionString);

SqlCommand cmd = newSqlCommand("
INSERT INTO ExpertsMan
(code, fname, family)
VALUES(@code,@fname,@family)
", cnn)

cmd.Parameters.AddWithValue("@code", (int)Session["code"]);
cmd.Parameters.AddWithValue("@fname", txtName.Text);
cmd.Parameters.AddWithValue("@family", txtFamily.Text);

cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();



این پیغام خطا



Must declare the scalar variable "@fname".



مشکل کجاست؟:عصبانی++::گریه:




باسلام ببینید کدتون مشکلی نداره دیتابیس و جدولتون رو چک کنید مشکل از اونجاست
من خودم کدتون رو امتحان کردم