PDA

View Full Version : بدست اوردن مقدار اخرین رکورد در جدول؟؟



boysilent
سه شنبه 17 دی 1392, 17:21 عصر
سلام دوستان عزیز من این قطغه کد رو نوشتم برای بدست اوردن اخرین ایدی درج شده ولی نه خطا میده ن جواب
SQLiteConnection conn2 = new SQLiteConnection("Data Source=db_wordha.sqlite;Version=3");
SQLiteDataReader reader;
string Q_select = "select top 1 * from smalfact order by id desc";
SQLiteCommand selects = new SQLiteCommand(Q_select,conn2);
conn2.Open();
reader = selects.ExecuteReader();
if (!reader.HasRows)
{
string name=reader["id"].ToString();
txtshomarefact.Text = name;
conn2.Close();
reader.Close();
}

صابر
سه شنبه 17 دی 1392, 17:26 عصر
به جای
if (!reader.HasRows)
بنویسید
if (reader.HasRows)

boysilent
سه شنبه 17 دی 1392, 17:45 عصر
ن متاسفانه حل نشد قبلا خودم امتحان کردم .حتی پاک کردم شرط رو ولی ؟؟

hashtgerd2
سه شنبه 17 دی 1392, 18:21 عصر
یه سلکت بزن که ماکزیمم id رو بهت بده

ashkan1234
سه شنبه 17 دی 1392, 18:31 عصر
با entity اینجوری آخری رو انتخاب میکنم
using (var db=new Entity())
{
var last = db.TBL_Name.ToList()
.LastOrDefault();
}
اگر از Linq هم استفاده کنی دیگه نیازی به لیست کردن هم نیست...

boysilent
سه شنبه 17 دی 1392, 23:44 عصر
من از این روش میخوام استفاده کنم اخه مشکلش چیه؟

به نظز شما مشکل از sqlite نیست؟

دوستان کارم خیلی گیره اگه میشه راهنماییم کنید
یا یه راه و روش دیگه پیشنهاد بدید

ashkan1234
پنج شنبه 19 دی 1392, 19:30 عصر
فکر کنم سینتکس sqlite مثل sqlserver نباشه!
یعنی اون سلکتی که زدی توی sql server جواب میده!
من دقیقا نمیدونم ولی اگر sqlite سینتکساش دقیقا مثل sql باشه میتونی از این کد استفاده کنی!
تست کن!
SELECT LAST(column_name) FROM table_name;
:لبخند:
من با این توی sql server جواب گرفتم:
select * from table_name WHERE Id = (SELECT MAX(Id) FROM table_name);
مطمینا توی sqlite هم جواب میده!