PDA

View Full Version : Error (Argumentexception was unhandeled)



nafarinesh
شنبه 19 شهریور 1390, 12:51 عصر
سلام
تو برنامه ای که نوشتم از استورد پروسیجر استفاده کردمو وقتی برنامه رو اجرا میکنم دکمه ذخیره یا هر دکمه دیگه ای رو می زنم به کامند برنامه این errorمیده.
ممکنه کممکم کننید
No mapping exists from object type System.Windows.Forms.TextBox to a known managed provider native type.

ممکن کمکم کنید؟

gwbasic
شنبه 19 شهریور 1390, 14:01 عصر
احتمالا جایی که command رو نوشتی از خود textbox استفاده کردی در صورتی که باید از textbox.Text استفاده کنی

nafarinesh
شنبه 19 شهریور 1390, 17:05 عصر
متوجه نشدم.
مثلا من یکی از پارامتر های ورودی رو به این صورت به اس کیوال ADD میکنم.
command.Parameters.Add(new SqlParameter("@name", this.name))

gwbasic
شنبه 19 شهریور 1390, 17:12 عصر
منظورم همون this.Name هست که پاس می کنی چک کن جای دیگه خود TextBox رو پاس کردی که باید textBox.Text رو پاس کنی

nafarinesh
شنبه 19 شهریور 1390, 20:51 عصر
ممکن بیشتر توضیح بدید ؟؟ مبتدی هستم!!!!!!!!!!!

gwbasic
یک شنبه 20 شهریور 1390, 08:00 صبح
کدی رو که برای صدا زدن StoreProcedure نوشتی ( و پارامتر ها رو به اون پاس کردی ) رو بذار تا ببینیمش اینطوری بهتره

nafarinesh
دوشنبه 21 شهریور 1390, 09:48 صبح
SqlCommand command=new SqlCommand("sp_insert",connection);
command.CommandType=System.Data.CommandType.Stored Procedure;

//--input parameter

command.Parameters.Add(new SqlParameter("@name",this.name));

command.Parameters.Add(new SqlParameter("@_date",DateTime.Now));
command.Parameters.Add(new SqlParameter("@detaile",this.detaile));
command.Parameters.Add(new SqlParameter("@phone_nu",this.phon_nu));

gwbasic
دوشنبه 21 شهریور 1390, 10:17 صبح
this.detaile و یا this.phon_nu از چه جنسی هستند احتمالا textbox نیستند؟

اگه سوالتون رو کامل و دقیق بپرسین خیلی سریعتر جواب می گیرین این اطلاعاتتون ناقصه نمی شه روش نظر داد

nafarinesh
دوشنبه 21 شهریور 1390, 10:49 صبح
اتفاقا هر دوتاش textboxهستن.

نمیدونم چه طور بگم. چون واسه خودمم این error معنی نداره
مثلا متد insert رو به این شیوه نوشتم و بعد رویداد insertbutton _click گذاشتم. بعد از اجرای برنامه وقتی insertboutton میزنم .همونerror که پست اول گفتم میده.



public void insert()
{
SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=construction2;Integrated Security=True");
SqlCommand command=new SqlCommand("sp_insert",connection);
command.CommandType=System.Data.CommandType.Stored Procedure;

//--input parameter

command.Parameters.Add(new SqlParameter("@name",this.name));

command.Parameters.Add(new SqlParameter("@_date",DateTime.Now));
command.Parameters.Add(new SqlParameter("@detaile",this.detaile));
command.Parameters.Add(new SqlParameter("@phone_nu",this.phon_nu));

if (connection.State != System.Data.ConnectionState.Open)
{
connection.Open();
}
try
{

command.ExecuteReader();

}
catch (SqlException SqlExceptionErr)
{
MessageBox.Show(SqlExceptionErr.Message);
}
if (connection.State != System.Data.ConnectionState.Closed)
{
connection.Close();
connection.Dispose();
}

if (command != null)
{
command.Dispose();
}


}

gwbasic
دوشنبه 21 شهریور 1390, 10:59 صبح
خوب دیگه مشکل همونی بود که گفتم


SqlCommand command=new SqlCommand("sp_insert",connection);
command.CommandType=System.Data.CommandType.Stored Procedure;

//--input parameter

command.Parameters.Add(new SqlParameter("@name",this.name));

command.Parameters.Add(new SqlParameter("@_date",DateTime.Now));
command.Parameters.Add(new SqlParameter("@detaile",this.detaile.Text));
command.Parameters.Add(new SqlParameter("@phone_nu",this.phon_nu.Text));


.Text رو به هر دو اضافه کن

nafarinesh
دوشنبه 21 شهریور 1390, 14:47 عصر
بله مشکل همون بود.