입력된 검색 기준에 따라 C#을 통해 SQL 데이터베이스를 검색하려고 하면 입력 문자열이 올바른 형식이 아니라는 오류가 발생합니다.
P粉327903045
P粉327903045 2024-03-20 00:15:39
0
1
474

내 프로그램을 통해 저장 프로시저를 사용하여 데이터베이스를 검색하려고 합니다. 목표는 입력된 세 가지 기준 중 하나를 사용하여 검색하는 것입니다. ID#, 이름 및/또는 성. MySql에서 다음 저장 프로시저를 만들었습니다.

으아아아

내 C# 코드는 다음과 같습니다:

데이터베이스 쿼리:

으아아아

브리지 쿼리(한 곳에서 추가 로직을 편집하거나 제거해 보세요):

으아아아

검색 버튼 클릭 후 전화:

으아아아

필요한 경우 제가 사용하는 속성은 다음과 같습니다.

으아아아

ID 검색할 때 잘 작동해요! 하지만 이름 및/또는 성만 검색하려고 하면 다음 오류가 발생합니다.

으아아아

이름이 비어 있으면 공백에 서식 문제가 발생할 수 있다고 생각하여 내용을 추가하기 위해 공백을 입력하려고 시도했지만 작동하지 않았습니다. 내 저장 프로시저가 설정된 방식으로 돌아가나요, 아니면 C# 코드로 돌아가나요? 한동안 시도해 보았지만 문제가 발생했습니다.

미리 감사드립니다!

P粉327903045
P粉327903045

모든 응답(1)
P粉530519234

이 질문에는 관련 없는 정보가 많이 있을 것이 거의 확실합니다. 이는 데이터베이스나 쿼리 또는 string를 숫자로 변환하는 것 외에는 거의 관련이 없습니다. 예외가 발생한 위치도 알려주지 않았지만 여기인 것 같습니다.

으아악

if TextBox 不包含 32 位整数的有效表示,则该代码将失败并显示该错误消息。显而易见的解决方案是在将用户输入转换为数字之前验证用户输入。毕竟它是一个 TextBox이므로 사용자는 무엇이든 입력할 수 있습니다.

사용자가 무엇이든 입력했는지 먼저 테스트하는 것이 좋습니다. 그렇지 않다면 ID로 검색을 시도하지 않았으며 이에 따라 조치를 취하지 않았다고 가정할 수 있습니다. 이를 수행하는 방법은 귀하에게 달려 있지만 저는 완전히 다르게 할 것입니다. 그러나 이것은 이 질문의 범위를 벗어납니다. 무언가를 입력했다면 유효한 숫자인지 확인하고 그렇지 않으면 중지해야 합니다. 이 경우에만 계속해야 합니다. 모든 숫자 유형(및 기타 유형)의 TryParse 메소드를 한 단계로 확인하고 변환할 수 있습니다. 으아악

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿