Select random questions from db

Bài dưới gợi ý một số cách lấy random câu hỏi từ csdl

Cú pháp với cơ sở dữ liệu MySQL:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

Cú pháp với cơ sở dữ liệu PostgreSQL:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Cú pháp với cơ sở dữ liệu Microsoft SQL Server:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

Cú pháp với cơ sở dữ liệu IBM DB2

SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Cú pháp với cơ sở dữ liệu Oracle:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Advertisements

Cannot execute a program. The command being executed was \roslyn\csc.exe

Gặp lỗi

Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
.
Parser Error Message: Cannot execute a program. The command being executed was “G:\PleskVhosts\website.com\httpdocs\bin\roslyn\csc.exe” /shared /keepalive:”10″ /noconfig  /fullpaths @”C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\4a4c810d\6d29243e\slpxwrhm.cmdline”.
Khắc phục
A simple solution for this issue is that removing Roslyn compiler plugin from your project and using old compiler. In order to remove Roslyn:
  1. Follow “Tools > NuGet Package Manager > Manage NuGet Packages for Solution” in Visual Studio
  2. Find “DotNetCompilerPlatform” and uninstall it

Maximum request length exceeded

Lỗi: 

Maximum request length exceeded 

Nguyên nhân:

ASP.NET web server cấu hình mặc định cho phép upload tối đa 4096 KB (4MB), khi upload quá kích thức thì xảy ra lỗi trên

Khắc phục:

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
</configuration>

Hoặc nếu là IIS lớn hơn phiên bản 7.0

<system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
   </security>
 </system.webServer>

Lỗi khi đưa lên host của nhà cung câp – Unrecognized attribute ‘targetFramework’

Khi đưa lên host của nhà cung cấp, với lỗi thường gặp sau

Unrecognized attribute ‘targetFramework’. Note that attribute names are case-sensitive.

Nguyên nhân và cách khắc phục

  • Nguyên nhân

Website đang được thiết lập cấu hình mặc định là AppPool ASP.NET 2.0

  • Khắc phục

Chuyển AppPool qua ASP.NET 4.0

File manager with CKFinder

File manager with CKFinder – Quản lý file với CKFinder

Các bước dưới đây hướng dẫn sử dụng CKFinder để quản lý và upload file với ASP.NET MVC

  • Download CKFinder và chép vào thư mục gốc của website
  • Trước thẻ </body> của trang _Layout.cshtml chèn thêm đoạn mã sau
ckfinder3
  •  Trong view cần dùng CKFinder để chèn ảnh, upload ảnh bổ sung đoạn mã sau
<input id="xFilePath" name="FilePath" type="text" class="input-block-level" />
<input type="button" value="Browse Server" onclick="BrowseServer();" class="controls" />

Lưu ý ID của điều khiển tương ứng với tên sử dụng trong phương thứ SetFileField(..)

Sau khi chạy kết quả hiển thị như hình sau

ckfinder1

Khi người dùng click nút Browse Server, màn hình như ảnh sau

ckfinder2

ASP.NET MVC Upload file – Error with FileName with full path

Lỗi:

  • Khi upload file – muốn chỉ lấy tên file nhưng trả về tên file và đường dẫn đầy đủ

Giải quyết:

  • Một số trình duyệt gặp trường hợp như vậy (như Edge) nhưng với 1 số trình duyệt thì không (Chrome, firefox)
  • Để tránh cho tất cả các trình duyệt thì sử dụng thêm mã sau
public ActionResult UploadFile(HttpPostedFile postedFile) {
    var filename = IO.Path.GetFileName(postedFile.FileName);
    var pathToSave ="Your path";
    postedFile.SaveAs(pathToSave+"/"+filename);
....
}