Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: search theo biế́n trong proc như thế nào?

  1. #1
    Ngày gia nhập
    04 2011
    Bài viết
    66

    Question search theo biế́n trong proc như thế nào?

    câu này chưa biết đặt đề tài sao,mod đừng xóa nhé
    mình có câu lênh như thế này :
    Code:
    ALTER proc [dbo].[SearchDriver]
    @name nchar(30)
    as
    begin
    select * from Driver where Name like '%@name%'
    end
    Như vậy thì biến @name ko có tác dụng ,mình muốn hỏi biến @name sẽ được sử dụng như thế nào trong đây,thaks ae đã quan tâm

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Bạn cần học lại về cách sử dụng varchar/nvarchar (concat)

    select * from Driver where Name like '%' + @name + '%'

  3. #3
    Ngày gia nhập
    04 2011
    Bài viết
    66

    mình nghĩ bạn nên test trước khi đưa lên được ko?(một số ý kiến đưa ra cứ như theo kiểu biết rồi như + chuỗi vậy :-|) mình bảo đảm vs bạn là trong proc ko dùng dc câu lệnh này, mà mình phải làm theo cách khác,trong oracle thì ok hơn.trong sql mình đã phải sử dung
    Code:
    ALTER proc [dbo].[SearchDriver]
    @name nchar(30)
    as
    begin
    select * from Driver where Name like @name+'%'
    end
    và code của biến @name trong code mình phải + thêm "%" đằng trước,thì mới dc
    còn
    Code:
    ALTER proc [dbo].[SearchDriver]
    @name nchar(30)
    as
    begin
    select * from Driver where Name like '%'+@name+'%'
    end
    1 màu đỏ đó đó--> google cũng ra :-|

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi wintervt Xem bài viết
    mình có câu lênh như thế này :
    Code:
    ALTER proc [dbo].[SearchDriver]
    @name nchar(30)
    as
    begin
    select * from Driver where Name like '%@name%' -- người viết hoàn toàn không biết biến là cái gỉ
    -- và chuỗi sử dụng ra sao
    end
    Như vậy thì biến @name ko có tác dụng ,mình muốn hỏi biến @name sẽ được sử dụng như thế nào trong đây,thaks ae đã quan tâm
    Cái code này: '%@name%'
    Cho thấy là người viết code hoàn toàn không có khái niệm tối thiểu về biến và chẳng hiểu gì về cách sử dụng nvarchar/varchar (bài này chẳng hiểu sao lại dùng nchar, càng khó chịu hơn).
    Vì thấy người viết code chẳng hiểu gì về biến và chuỗi nên mới đề nghị cần học lại (gú gồ chỉ dành cho người đẫ biết sơ sơ rồi, người không có căn bản thì phải học từ đầu)

    Câu: select * from Driver where Name like '%'+@name+'%'
    chỉ chủ ý giới thiệu sơ qua cách dùng thôi. Mỗi phiên bản của SQL có thể có cách CONCAT khác nhau.

    Căn bản nó là vậy. Một chuyện đơn giản như thế này cần gì phải chạy thử.

    Ở đây là hộp MS SQL Server và MS Access, cộng chuỗi dùng dấu cộng (t-SQL) hoặc dấu & (Access), tự dưng lôi Oracle vô đây làm cái quái gì vậy?
    Đã được chỉnh sửa lần cuối bởi VoTichSu : 24-01-2012 lúc 08:45 AM.

Các đề tài tương tự

  1. có ai biết về z39.50 không (search csdl digital library)
    Gửi bởi sun_121288 trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 12-04-2016, 09:37 AM
  2. Database Cách search text trong database theo ký tự không dấu?
    Gửi bởi lion080889 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 04-05-2013, 03:44 PM
  3. ADO.NET Làm thế nào để lưu hình ảnh vào database theo kiểu viết mô hình 3 lớp
    Gửi bởi huuphat trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 02-01-2012, 06:57 AM
  4. Database Gọi Store Proc trong Store Proc như thế nào?
    Gửi bởi leminh_005 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 03-08-2011, 10:04 AM
  5. Hàm search với kiểu dữ liệu bất kì theo một yêu cầu bất kì
    Gửi bởi chanphat01001 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 08-06-2008, 10:54 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn