PDA

View Full Version : سوال: مشکل کوری select topدر تابع newid()



amir-aa
چهارشنبه 24 خرداد 1391, 09:30 صبح
Undefined function 'newid' in expression.

این ارور مال این کوری هستش
select top 1 id as [ran],[name],[cost] from test where [pish]='false' order by newid()

لطفا راهنمایی کنید

db=Access

aspmaker
چهارشنبه 24 خرداد 1391, 11:11 صبح
آخرش اینجوری باید باشه

ORDER BY [newid]

amir-aa
چهارشنبه 24 خرداد 1391, 11:29 صبح
عزیزم newid()تابعه sqlهست نه ستونی از جدول که اونجوری بنویسیم

ممکنه این تابع توی اکسس وجود نداشته باشه؟؟

aspmaker
چهارشنبه 24 خرداد 1391, 11:42 صبح
ببخشید حواسم رفت به این که اون یه فیلد جدوله!
فکر نمیکنم این تابع توی Access وجود داشته باشه.

fakhravari
چهارشنبه 24 خرداد 1391, 11:54 صبح
کد Access
SELECT TOP 3 * from items ORDER BY Rnd(OrderNo)

amir-aa
چهارشنبه 24 خرداد 1391, 12:18 عصر
select top 1 [id] as [ran],[name],[cost] from tbl_jayeze where [pish]='False' ORDER BY Rnd(id)

اینو نوشتم ولی ارور میده میگه مقداری وجود نداره

fakhravari
چهارشنبه 24 خرداد 1391, 12:45 عصر
SELECT top 5 * FROM items WHERE pish=False ORDER BY Rnd(OrderNo);

کلید جدول OrderNo
فیلد pish از نوع yes / no

amir-aa
چهارشنبه 24 خرداد 1391, 13:13 عصر
ببین من میخوام یدونه انتخاب کنه ولی شما نوشتید top5??????!!!چرا؟

amir-aa
چهارشنبه 24 خرداد 1391, 13:16 عصر
بازم مینویسه

No value given for one or more required parameters.

اینم کل کد

string connectionstring = "provider=Microsoft.Jet.OLeDB.4.0;Data Source=" + Server.MapPath("Copy of dbsite.mdb");



OleDbConnection conn = new OleDbConnection(connectionstring);
string query = "select * from tbl_jayeze where [mojud]>=1";
OleDbCommand cm = new OleDbCommand(query, conn);
conn.Open();
OleDbDataReader dr = cm.ExecuteReader();

if (dr.Read())
{

conn.Close();
string connectionstring2 = "provider=Microsoft.Jet.OLeDB.4.0;Data Source=" + Server.MapPath("dbsite.mdb");
OleDbConnection conn2 = new OleDbConnection(connectionstring2);
string query1 = "select top 5 [id] as [ran],[name],[cost] from tbl_jayeze where [pish]='False' ORDER BY Rnd(id)";
OleDbCommand cm1 = new OleDbCommand(query1, conn2);
conn2.Open();
OleDbDataReader dr1 = cm1.ExecuteReader();
if (dr1.Read())
{
string a1 = dr1["name"].ToString();
int a2 = Convert.ToInt32(dr1["cost"]);
Label1.Text = a1;
Label7.Text = a2.ToString();
}


}

amir-aa
چهارشنبه 24 خرداد 1391, 14:17 عصر
آقا مدیرای انجمن چی شدن پس؟؟؟!!!!!!

fakhravari
چهارشنبه 24 خرداد 1391, 14:44 عصر
دوست عزیز کد های زیر تست شده و کاملا درست است .
در کد های خود دقت کنید و عجله نکنید برای جواب
protected void Button1_Click(object sender, EventArgs e)
{
string connectionstring2 = "provider=Microsoft.Jet.OLeDB.4.0;Data Source=" + Server.MapPath("Database2.mdb");
OleDbConnection conn2 = new OleDbConnection(connectionstring2);
string query1 = "SELECT TOP 2 * FROM Table1 where sex=false ORDER BY Rnd(ID)";
OleDbCommand cm1 = new OleDbCommand(query1, conn2);
conn2.Open();
OleDbDataReader dr1 = cm1.ExecuteReader();
GridView1.DataSource = dr1;
GridView1.DataBind();
conn2.Close();
}

amir-aa
چهارشنبه 24 خرداد 1391, 15:11 عصر
شما راست گفتی آقا من سر یک جریانی دیتابیسو عوض کردم یادم رفا ستون pish اضافه کنم ممنونم به هر حال