Tôi đã tạo một thủ tục lưu trữ lấy một đối số duy nhất, tên bảng và trả về 1 nếu nó tồn tại trong cơ sở dữ liệu, 0 nếu nó không . Trong SQL Server Management Studio thử nghiệm thủ tục lưu trữ của tôi hoạt động chính xác như tôi muốn nó, tuy nhiên tôi gặp khó khăn khi nhận được giá trị đó để sử dụng trong chương trình C# của tôi.Thủ tục lưu sẵn SQL Server trả về một boolean nếu bảng tồn tại, C# implementation
Tùy chọn của tôi có vẻ là ExecuteScalar()
, ExecuteNonQuery()
hoặc ExecuteReader()
, không có cách nào phù hợp với công việc này, cũng như tôi không thể truy xuất kết quả của quy trình được lưu trữ của tôi.
Tôi đã thử gán tham số của mình với cả hai lần cmd.Parameters.AddWithValue
và cmd.Parameters.Add
một lần nữa để không có kết quả.
là thủ tục lưu trữ của bạn trở lại hoặc chọn kết quả? Sẽ dễ dàng hơn nếu bạn "chọn TableExists = 1" thay vì "return 1". Sau đó, bạn có thể sử dụng ExecuteScalar(). –
Có nó đang quay trở lại. Tôi sẽ xem xét sử dụng một SELECT thay vì nếu nó làm cho mọi thứ dễ dàng hơn. – danbroooks
Đăng một số mã. – Khan