MS-SQL Server 의 작은 따옴표 두 가지 처리 방법
5165 단어 MS-SQL서버 의 작은 따옴표 두 가지 처리 방법
Function ProcessStr(str As String)
Dim pos As Integer
Dim stedest As String
pos = InStr(str, “'“)
While pos 〉0
str = Mid(str, 1, pos) & “'“ & Mid(str, pos + 1)
pos = InStr(pos + 2, str, “'“)
Wend
ProcessStr = str
End Function
---- 그 중에서 str 인 자 는 SQL 문자열 입 니 다.함수 가 문자열 에 작은 따옴표 가 나타 나 는 것 을 발견 하면 앞에서 작은 따옴표 를 추가 합 니 다. 방법 2:데이터 대상 의 인 자 를 이용 합 니 다.ADODB.COMMAND 대상 을 이용 하여 작은 따옴표 가 있 는 문자열 을 COMMAND 에 전달 한 다음 조회 등 을 수행 하면 됩 니 다. 상기 두 가지 방법 을 비교 하면 방법 은 하 나 는 시스템 처리 시간 을 증가 시 켰 고 방법 은 간결 하고 효율 적 이다.만약 에 저장 과정 을 사용 한 다음 에 파 라 메 터 를 저장 과정 에 전달 하면 저장 과정 은 미리 컴 파일 된 것 으로 시스템 의 효율 이 더욱 높다. 다음은 예 를 들 어 설명 한다. 새 항목 을 만 듭 니 다.항목 에 창(Form 1)이 있 습 니 다.명령 단추 두 개,MSFlexGrid 하나,이름 은 Command 1,Command 2,MSFlexGrid 1,COMBOX(COMBO 1)입 니 다.내용 은'Paolo'f','Paolo'f'로 미리 설정 되 어 있 습 니 다.Command 1 프 리 젠 테 이 션 방법 1,Command 2 프 리 젠 테 이 션 방법 2,MSFlexGrid 1 저장 방법 2 조회(SELECT)결과.다른 SQL 조작(INSERT,DELTER,UPDATAE)방법 이 매우 유사 하 므 로 필 자 는 더 이상 군말 하지 않 겠 다.SQL SERVER 에 있 는 PUBS 데이터베이스 에 있 는 EMPLOYEE 표 는 두 개의 기록 에 있 는 FNAME 를 SQL 문법 으로'Paolo'f','Paolo'f'로 바 꿀 수 있다. SQL 문법 은 다음 과 같 습 니 다:update employee set fname=“ Paolo''''f“ where emp_id='PMA42628M' update employee set fname=“ Paolo''f“ where emp_id='PMA42628M' ---- 프로그램 은 다음 과 같다. 우선 앞의 함 수 를 넣 으 세 요. 창의 일반적인 변 수 는 다음 과 같 습 니 다:Dim cnn1 As ADODB.Connection '연결 Dim mycommand As ADODB.Command '명령 Dim rstByQuery As ADODB.Recordset '결과 집 Dim strCnn As String '연결 문자열 Private Sub Form_Load() Set cnn1 = New ADODB.Connection '연결 생 성 strCnn = “driver={SQL Server};“ & _ “server=ZYX_pc;uid=sa;pwd=PCDC;database=pubs“ ' 연결 문자열'strCnn 을 사용 하 는 시스템 데이터 원본 이 없습니다. = “DSN=mydsn;UID=sa;PWD=;“ 'DATABASE=pubs;Driver={SQL Server};SERVER=gzl_pc“ ' 시스템 데이터 원본 MYDSN 이 PUBS 데이터 베 이 스 를 가리 키 면 cnn1.Open 을 사용 할 수 있 습 니 다. strCnn, , , 0 '연결 끝 열기 Sub Private Sub Command1_Click() '문자 처리 데모 Dim i As Integer Dim j As Integer Set parm = New ADODB.Parameter Set mycommand = New ADODB.Command Dim str As String str = Combo1.Text str = ProcessStr (str) mycommand.ActiveConnection = cnn1 ' 이 명령 을 지정 합 니 다. my command.commandText = “ select * from employee where fname = '“ & str & “'“ mycommand.CommandType = adCmdText '명령 표시 유형 세트 rstByQuery = New ADODB.Recordset Set rstByQuery = mycommand.Execute() i = 0 Do While Not rstByQuery.EOF i = i + 1 ' i 기록 개수 rstByQuery.MoveNext Loop MSFlexGrid1.Rows 저장 = i + 1 '동적 설정 MSFlexGrid 의 줄 과 열 MSFlexGrid 1.Cols = rstByQuery.Fields.count + 1 MSFlexGrid1.Row = 0 For i = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = i + 1 MSFlexGrid1.Text = rstByQuery.Fields.Item(i).Name Next '첫 줄 의 제목 을 설정 하고 도 메 인 이름 으로 i 를 채 웁 니 다. = 0 'Set rstByQuery = mycommand.Execute() rstByQuery.Requery Do While Not rstByQuery.EOF i = i + 1 MSFlexGrid1.Row = i '줄 확인 For j = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = j + 1 MSFlexGrid1.Text = rstByQuery(j) '모든 열 추가 Next rstByQuery.MoveNext Loop '이 순환 은 MSFlexGrid 의 내용 End 를 채 우 는 데 사 용 됩 니 다. Sub Private Sub Command2_Click()'인자 방법 Dim i As Integer Dim j As Integer Set parm = New ADODB.Parameter Set mycommand = New ADODB.Command ' parm_jobid.Name = “name1“ this line can be ommited parm.Type = adChar '매개 변수 유형 parm.size = 10 '매개 변수 길이 parm.Direction = adParamInput '매개 변수 방향,입력 또는 출력 parm.Value = Combo1.Text '매개 변수의 값 my command.Parameters.Append parm '인자 my command.ActiveConnection 추가 = cnn1 ' 이 명령 을 지정 합 니 다. my command.commandText = “ select * from employee where fname =? “ mycommand.CommandType = adCmdText '명령 표시 유형 세트 rstByQuery = New ADODB.Recordset Set rstByQuery = mycommand.Execute() i = 0 Do While Not rstByQuery.EOF i = i + 1 ' i 기록 개수 rstByQuery.MoveNext Loop MSFlexGrid1.Rows 저장 = i + 1 '동적 설정 MSFlexGrid 의 줄 과 열 MSFlexGrid 1.Cols = rstByQuery.Fields.count + 1 MSFlexGrid1.Row = 0 For i = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = i + 1 MSFlexGrid1.Text = rstByQuery.Fields.Item(i).Name Next '첫 줄 의 제목 을 설정 하고 도 메 인 이름 으로 i 를 채 웁 니 다. = 0 rstByQuery.Requery Do While Not rstByQuery.EOF i = i + 1 MSFlexGrid1.Row = i '줄 확인 For j = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = j + 1 MSFlexGrid1.Text = rstByQuery(j) '모든 열 추가 Next rstByQuery.MoveNext Loop '이 순환 은 MSFlexGrid 의 내용 End 를 채 우 는 데 사 용 됩 니 다. Sub ---- 조회 부분 은 저장 과정 으로 처리 효율 을 높이 고 네트워크 트 래 픽 을 낮 출 수 있다. 이 프로그램 은 NT 에 있 습 니 다. WORKSTATION 4.0 SP4、SQL SERVER 7.0 디 버 깅 통과
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MS-SQL Server 2005 의 세 가지 버 전 비교Enterprise, Development 화해시키다 Express 등 세 가지 버 전: 엔 터 프 라 이 즈 판화 Development 판 의 기능 이 똑같다.이들 의 차 이 는 권한 수여 가 다른 것 을 제...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.