PDA

View Full Version : سوال: خطای Column 'id_user ' does not belong to table



hmahdavi921
جمعه 12 تیر 1394, 12:25 عصر
با سلام
یک تابع برای خوندن اطلاعاتم از دیتا بیس نوشتم که اول از طریق پراسیجر اطلاعات رو میخونه که تا اینجا مشکلی نیست ! و موقع دیباگ در ویژوال استودیو تمامی فیلد های جدول رو به درستی نشون میده بعد این اطلاعات رو من داخل لیستی از نوع یک کلاس میریزم .تو این مرحله برای دو تا از فیلد هام این خطا رو میده معنی پیغام اینکه ستون فوق در نتیجه کوئری اجرا شده ، نیست اما اشتباهه عرض کردم که به هنگام دیباگ کد میتونم اطلاعات جدول رو ببینم . اما خوب موقع انتساب به یک عضو کلاس این خطا ظاهر میشه .کد ها رو میزارم دوستان محبت کنید یه نگاهی بندازید نکته ای بود اطلاع بدبد . ممنون میشم.

public class OptionBook
{
public string IdUser { get; set; }
public byte Editin { get; set; }
public string NameBook { get; set; }
public string Author { get; set; }
public int Price { get; set; }
public string ImageUrl { get; set; }
}
protected List<OptionBook> PDGetListT_book(string nameBook, byte state)
{
var sqlcom = new SqlCommand { CommandType = CommandType.StoredProcedure, CommandText = "spGetListT_book" };
sqlcom.Parameters.AddWithValue("@nameBook", nameBook);
sqlcom.Connection = Sqlcon.OpenCon();
sqlcom.Parameters.AddWithValue("@state", state);
var sqlda = new SqlDataAdapter(sqlcom);
var dTable = new DataTable();
sqlda.Fill(dTable);
var lstOptionBooks= new List<OptionBook>();
foreach (DataRow dtRow in dTable.Rows)
{
var obOptionBook = new OptionBook();
obOptionBook.IdUser = dtRow["id_user "].ToString();
obOptionBook.Editin = (byte) dtRow["edition_book"];
obOptionBook.NameBook = dtRow["name_book"].ToString();
obOptionBook.Author = dtRow["author_book"].ToString();
obOptionBook.Price = (int)dtRow["price_book "];
obOptionBook.ImageUrl = dtRow["image "].ToString();
lstOptionBooks.Add(obOptionBook);
}
Sqlcon.CloseCon();
return lstOptionBooks;
}



ALTER PROCEDURE [dbo].[spGetListT_book]
@nameBook NVARCHAR(256),
@state TINYINT
AS
SELECT [id_user],
[edition_book],
[name_book],
[author_book],
[price_book],
[image]
FROM [dbo].[T_book]
WHERE [state] = @state
AND [name_book] LIKE N'' + @nameBook + '%'

daffy_duck376
شنبه 13 تیر 1394, 04:19 صبح
فکر کنم ایراد شما فقط یه space بعد از کدت باشه اون رو حذف کن حل میشه!


foreach (DataRow dtRow in dTable.Rows) {

var obOptionBook = new OptionBook();


obOptionBook.IdUser = dtRow["id_user "].ToString();

obOptionBook.IdUser = dtRow["id_user"].ToString


obOptionBook.Editin = (byte) dtRow["edition_book"];

obOptionBook.NameBook = dtRow["name_book"].ToString();
obOptionBook.Author = dtRow["author_book"].ToString();
obOptionBook.Price = (int)dtRow["price_book "];
obOptionBook.ImageUrl = dtRow["image "].ToString();

lstOptionBooks.Add(obOptionBook);
}

hmahdavi921
شنبه 13 تیر 1394, 09:44 صبح
ممنون مهندس حل شد.