Tại sao điều này là không thể và bất kỳ đề xuất nào khác để thử? Nếu/else cho 20 thông số chỉ là không cách nào.Không thể xác định loại biểu thức có điều kiện vì không có chuyển đổi tiềm ẩn giữa 'chuỗi' và 'System.DBNull'
24
A
Trả lời
50
Vấn đề là (như thông báo lỗi cho biết) biểu thức có điều kiện cần có các loại giống hệt nhau trên cả hai nhánh hoặc nếu không có cần phải chuyển đổi ngầm từ một trong các loại này sang loại khác. Trong trường hợp của bạn, không có một, và do đó bạn nhận được lỗi. Một sửa chữa nhanh chóng sẽ được đúc một trong các giá trị để (object)
(mà là tốt, vì DbParameter.Value
là loại object
anyway.)
Vì vậy, điều này sẽ làm việc cho bạn:
param7[1].Value = tbLastName.Text.Length > 0 ? tbLastName.Text : (object)DBNull.Value;
Các vấn đề liên quan
- 1. Không thể xác định loại biểu thức có điều kiện vì không có chuyển đổi tiềm ẩn giữa 'int' và <null>
- 2. C#: Không có chuyển đổi ngầm giữa 'biểu thức lambda' và 'biểu thức lambda'?
- 3. Chuyển đổi loại tiềm ẩn trong C
- 4. Không thể chuyển đổi biểu thức lambda để gõ 'chuỗi' vì nó không phải là một loại đại biểu
- 5. Có cách nào để tắt chuyển đổi loại tiềm ẩn trong SQL Server không?
- 6. Sự khác biệt giữa tạo đại biểu tiềm ẩn và rõ ràng (có và không có generics)
- 7. Không thể chuyển đổi biểu thức lambda thành loại 'System.Delegate' vì nó không phải là loại đại biểu?
- 8. Phân tích biểu thức có điều kiện thành chuỗi
- 9. Khuôn khổ thực thể - Không thể chuyển đổi biểu thức lambda thành loại 'chuỗi' bởi vì nó không phải là loại đại biểu
- 10. Không thể chỉ định cho đại biểu một phương thức ẩn danh có loại thông số ít cụ thể hơn
- 11. Đánh giá biểu thức có điều kiện
- 12. Giá trị không đổi trong biểu thức điều kiện
- 13. Không thể chuyển đổi hoàn toàn loại 'X' thành 'chuỗi' - khi nào và cách nó quyết định rằng "không thể"?
- 14. Không thể lấy ý định tiềm ẩn để làm việc
- 15. nhà điều hành có điều kiện và so sánh Đại biểu
- 16. Chỉ định biểu thức lambda sử dụng toán tử điều kiện (ternary)
- 17. Không thể sửa đổi biểu thức vì nó không phải là một biến
- 18. Bạn có thể chuyển luồng qua nhiều phương thức không?
- 19. Không thể chuyển đổi biểu thức lambda để gõ 'System.Delegate'
- 20. điều hành quá tải bên ngoài một lớp mẫu với chuyển đổi tiềm ẩn
- 21. Làm thế nào để chuyển đổi chuỗi sang biểu thức điều kiện trong PHP?
- 22. Chuyển đổi tham số từ loại 'System.String' thành loại '' X 'không thành công vì không có trình chuyển đổi loại nào có thể chuyển đổi giữa các loại này
- 23. Tại sao tôi không thể sử dụng toán tử bậc ba với biểu thức này?
- 24. Có sự khác biệt nào giữa loại chuyển đổi loại và loại không?
- 25. Tại sao không thể tối ưu hóa trường hợp chuyển đổi tiềm ẩn này?
- 26. không chuyển đổi ẩn nil thành chuỗi
- 27. LINQ Chuyển đổi biểu thức/concat từ Int để chuỗi
- 28. Không thể chuyển đổi biểu thức lambda thành loại 'đối tượng' vì nó không phải là loại đại biểu với một int
- 29. Kiểm tra xem chuỗi có thể được chuyển đổi thành loại khác không, loại khác nhau
- 30. Có phải các biểu thức lambda của C++ 0x không có loại có tên không?