직접 쿼리와 저장 프로 시저간에 차이가 있습니까?직접 쿼리와 vb.net의 저장 프로 시저의 차이
[다음]
지금 나도 몰라 내가 회사에 사용 7개월이야, 나는이 쿼리를 사용하여 .NET 응용 프로그램에서 Select
*Update*
delete
Insert
을 사용하기 때문에 나는 6 년 동안이 쿼리를 가지고있는 이 무엇이든지 상점 절차 또는 직접 쿼리 또는했지만 출력이 나는 그것이 querys를 만들에 올 때 할 수있는 최선의 방법이 무엇인지 알고 싶어 같은
<WebMethod()> _
Public Function add(ByVal firstname As String, ByVal lastname As String)
Dim con As SqlConnection
Dim com As SqlCommand
con = New SqlConnection(cstring)
con.Open()
com = New SqlCommand("SELCT * FROM NewSalestbl where Firstname = @Firstname and Lastname= @Lastname", con)
com.Parameters.AddWithValue("@Firstname", firstname)
com.Parameters.AddWithValue("@Lastname", lastname)
Dim reader As SqlDataReader = com.ExecuteReader
While reader.Read
status = reader("Lastname").ToString
End While
MsgBox("Inserted")
con.Close()
Return status
End Function
경우는 호출? [아래]
이 코드를 사용하려고지금
이 가Dim con As SqlConnection
Dim com As New SqlCommand
con = New SqlConnection(cstring)
con.Open()
com.CommandText = "searchtest"
com.CommandType = CommandType.StoredProcedure
com.Connection = con
com.Parameters.AddWithValue("@firstname", TextBox1.Text)
Dim raeder As SqlDataReader
raeder = com.ExecuteReader
While raeder.Read
MsgBox(raeder(1))
End While
가
이 두 가지 예는 TIA
프로그래머가/회사에 고용되어 있으면 코드를 수정할 수 있고 저장 프로 시저가 좋은 장소에 쿼리를 유지한다는 측면에서 좋은 쿼리라고 생각합니다. –
매개 변수 .AddWithValue에는 고유 한 문제가 있습니다. ADO.net은 원하는 데이터 형식을 추측해야합니다. 세계화됨에 따라 ADO는 TextBox1.Text에 대해 nvarchar를 선택합니다. 오래 전에 생성 된 데이터베이스는 변경되지 않으며 FirstName 열은 varchar입니다. 이제 데이터베이스가 데이터 손실 위험에 빠져서 모든 행이 nvarchar에 맞게 넓어졌습니다. 우리의 쿼리 속도를 높이기 위해 그렇게하는 훌륭한 인덱스는 쓸모 없게되고 LastName에 도달하지도 않았습니다. 간단한 .. cmd.Parameters.Add ("@ FirstName", SqlDbType.VarChar, 100) .Value = Text1.Text – Mary
@Mary는 nvarchar 및 varchar가 시스템 입력 값에 영향을 미칠 수 있습니까? 난 그냥 nvarchar 정상적인 입력으로 사용할 수있는 방법을 알고 varchar는 차량의 번호판 번호와 같은 입력에 사용하실 수 있습니다 sugesting을 사용하여 주셔서 감사합니다. 재산을 추가 : D –