Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chọn từ cơ sở dữ liệu SQL Server với phạm vi cụ thể bằng cách sử dụng hộp văn bản

Không sử dụng nối chuỗi để tạo các truy vấn sql của bạn, KHÔNG BAO GIỜ!

Bạn đang mở để tiêm sql, không có lý do gì cho việc đó. Thay vào đó, hãy sử dụng các tham số sql:

Dim dateFrom as Date
Dim dateTo as Date
Dim validFromDate = Date.TryParse(Txtfromyear_reprt.Text.Trim(), dateFrom)
Dim validToDate = Date.TryParse(Txttoyear_reprt.Text.Trim(), dateTo)

Bây giờ thoát khỏi phương pháp này với một thông báo có ý nghĩa nếu người dùng không cung cấp ngày hợp lệ. Bạn có thể kiểm tra validFromDatevalidToDate là boolean. Phần còn lại của mã được thực thi If validFromDate AndAlso validToDate :

Dim str As String = "select * from MYTABLE where Year >= @fromyear and Year <= @toyear"
da = New SqlDataAdapter(str, conn)
da.SelectCommand.Parameters.Add("@fromyear", SqlDbType.DateTime).Value = dateFrom 
da.SelectCommand.Parameters.Add("@toyear", SqlDbType.DateTime).Value = dateTo
' now you can use da.Fill(ds, "MYTABLE") safely

Tôi vừa thấy bạn sử dụng varchar để lưu trữ datetimes . Tại sao? Sửa nó trong cơ sở dữ liệu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết hợp LIKE với IN trong SQL

  2. SQL Server:sao lưu tất cả cơ sở dữ liệu

  3. Cách định dạng số dưới dạng tiền tệ trong SQL Server (T-SQL)

  4. Tương đương với 'bảng mô tả' trong SQL Server là gì?

  5. SQL Server:Cách tìm tất cả các tên phiên bản localdb