اندرویدستان 90 ارسال شده در 9 شهریور، ۱۴۰۰ اشتراک گذاری ارسال شده در 9 شهریور، ۱۴۰۰ سلام چطوری میتونم به یکباره اطلاعات داخل دیتابیس رو بگیرم یعنی از For Next استفاده نکنم مثل زیر نباشه Cur = SQL1.ExecQuery("SELECT `you_id` FROM `ChatDb`") ""=Query For i = 0 To Cur.RowCount-1 Cur.Position = i Query=Query & Cur.GetString("you_id") Next میخواستم کل اطلاعات رو مثلا مثل زیر دریافت کنم مثل زیر باشه Query=SQL1.ExecQuery("SELECT `you_id` FROM `ChatDb`") ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,583 ارسال شده در 10 شهریور، ۱۴۰۰ اشتراک گذاری ارسال شده در 10 شهریور، ۱۴۰۰ شدنی نیست به نظرم. و اصلا هم توصیه نمیشه. خروجی کوئری های sql یه curser هست برای خوندنش باید رو آیتماش پیمایش بشه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
اندرویدستان 90 ارسال شده در 10 شهریور، ۱۴۰۰ سازنده اشتراک گذاری ارسال شده در 10 شهریور، ۱۴۰۰ در ۱۴۰۰/۶/۱۰ در ۰۷:۳۳، محمدرضا شاهپیری گفته است: شدنی نیست به نظرم. و اصلا هم توصیه نمیشه. خروجی کوئری های sql یه curser هست برای خوندنش باید رو آیتماش پیمایش بشه. آخه حجم دیتابیس داخل موبایل بالا که میره سرعت خواندن پایین میاد راهی نیست سریعتر بخونه؟ مثلا 100.000 رکورد رو در یک ثانیه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasool.g 135 ارسال شده در 11 شهریور، ۱۴۰۰ اشتراک گذاری ارسال شده در 11 شهریور، ۱۴۰۰ در ۱۴۰۰/۶/۱۰ در 15:09، farsroom گفته است: آخه حجم دیتابیس داخل موبایل بالا که میره سرعت خواندن پایین میاد راهی نیست سریعتر بخونه؟ مثلا 100.000 رکورد رو در یک ثانیه اگه میخواید جستحو کنید فیلد هایی ک میخواید داخلش جستجو انجام بدید رو باید ایندکس کنید (به ترتیب مرتب میکنه تا سریع بتونه پیدا کنه هر چیزی رو) و سپس از دستور where استفاده کنید در کمتر از چند میلی ثانیه میتونه بین 100000 رکورد یا حتی خیلی بیشتر رکورد های مورد نیاز شمارو پیدا کنه اگه به هر دلیل میخواید کل اطلاعات رو بگیرید داخل php همچین دستوری دیدم (یک ارایه برای مثال برمیگردونه). داخل b4a فکر کنم همچین دستوری نداره ولبی با حلقه یا بدون حلقه فرقی هم نمیکنه و تا جایی ک یادم هست در php هم فرقی نداشت از نظر سرعت و .. برای کل اطلاعات کار خاصی بنظرم نمیشه انجام داد سریع تر بشه از همین کد و حلقه استفاده کنید. تفاوتی در کارایی و سرعت نداره. اگه قراره رکورد هارو به عنوان یک متن بچسبونید به هم از StringBuilder استفاده کنید. اگه کند انجام میشه ساختار یا الگوریتم برنامه نویسی/برنامه و دیتابیستون مشکل داره و باید تغییرش بدید. 100000 یا 1 میلیون رکورد برای دیتابیس مقدار زیادی نیست هر چقدر هم که اطلاعات بعضی فیلد ها بزرگ باشه (مثلا متن بزرگ و طولانی یا blob...) ولی طبیعتا نباید اطلاعات تمام این فیلد هارو یکجا بگیرید یا داخل فیلد هایی با متن طولانی نمیتونید جستجوی سریع انجام بدید. اگه به هر دلیل جستجو و کارتون با دیتابیس بیشتر از چند میلی ثانیه طول میکشه میتونید از دستوراتی مثل این استفاده کنید تا رابط کاربری فریز و قفل نشه Dim SenderFilter As Object = sql.ExecQueryAsync("SQL", "SELECT * FROM table1", Null) Wait For (SenderFilter) SQL_QueryComplete (Success As Boolean, rs As ResultSet) If Success Then Do While rs.NextRow Log(rs.GetInt2(0)) Loop rs.Close Else Log(LastException) End If https://www.b4x.com/android/help/sql.html#sql_execqueryasync همش شاید به سوال شما مربوط نبود و خودتون هم بدونید ولی کلی نوشتم اگه کسی دیگه هم خوند شاید بدردش بخوره 💓 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
اندرویدستان 90
سلام
چطوری میتونم به یکباره اطلاعات داخل دیتابیس رو بگیرم یعنی از For Next استفاده نکنم مثل زیر نباشه
Cur = SQL1.ExecQuery("SELECT `you_id` FROM `ChatDb`")
""=Query
For i = 0 To Cur.RowCount-1
Cur.Position = i
Query=Query & Cur.GetString("you_id")
Next
میخواستم کل اطلاعات رو مثلا مثل زیر دریافت کنم مثل زیر باشه
Query=SQL1.ExecQuery("SELECT `you_id` FROM `ChatDb`")
ممنون
لینک ارسال
به اشتراک گذاری در سایت های دیگر
3 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.