2013-04-26 2 views
2
Dim cmd As SqlCommand = sqlconn.CreateCommand 
    sqlconn.Open() 
    cmd.CommandType = CommandType.StoredProcedure 
    cmd.CommandText = "udpateELSEinsertEquipmentProfile" 

    'declare the variables 
    cmd.Parameters.Add("@OE_ID", SqlDbType.VarChar, 11, "oeq-su-999") 
    cmd.Parameters.Add("@OE_Category", SqlDbType.Char, 3, "COM") 
    cmd.Parameters.Add("@OE_SubCategory", SqlDbType.Char, 3, "SU") 
    cmd.Parameters.Add("@OE_Name", SqlDbType.VarChar, 35, "adminpmis01") 
    cmd.Parameters.Add("@OE_User", SqlDbType.VarChar, 35, "Ivan") 
    cmd.Parameters.Add("@OE_Brand", SqlDbType.VarChar, 15, "DELL") 
    cmd.Parameters.Add("@OE_Model", SqlDbType.VarChar, 35, "optiplex") 
    cmd.Parameters.Add("@OE_Specs", SqlDbType.VarChar, 1000, "dualcore") 
    cmd.Parameters.Add("@OE_SerialNo", SqlDbType.VarChar, 35, "sgh5960") 
    cmd.Parameters.Add("@OE_PropertyNo", SqlDbType.VarChar, 35, "j7h7h6g6f2") 
    cmd.Parameters.Add("@OE_MacAddress", SqlDbType.VarChar, 100, "j7h7:h6g6f2") 
    cmd.Parameters.Add("@OE_Static_IP", SqlDbType.VarChar, 15, "192.168.1.5") 
    cmd.Parameters.Add("@OE_Vendor", SqlDbType.VarChar, 35, "ADWAYS") 
    cmd.Parameters.Add("@OE_PurchaseDate", SqlDbType.SmallDateTime) 
    cmd.Parameters.Add("@OE_WarrantyInclusiveYear", SqlDbType.Int) 
    cmd.Parameters.Add("@OE_WarrantyStatus", SqlDbType.Char, 2, "IN") 
    cmd.Parameters.Add("@OE_Status", SqlDbType.VarChar, 15, "Good") 
    cmd.Parameters.Add("@OE_Dept_Code", SqlDbType.Char, 3, "ADM") 
    cmd.Parameters.Add("@OE_Location_Code", SqlDbType.Char, 8, "ADM_OFC") 
    cmd.Parameters.Add("@OE_Remarks", SqlDbType.VarChar, 1000, "ACTIVE") 
    cmd.Parameters("@OE_ID").Value = txtOEID.Text 
    cmd.Parameters("@OE_Category").Value = cmbCategory.Text 
    cmd.Parameters("@OE_SubCategory").Value = cmbSubCategory.Text 
    cmd.Parameters("@OE_Name").Value = txtName.Text 
    cmd.Parameters("@OE_User").Value = txtUser.Text 
    cmd.Parameters("@OE_Brand").Value = cmbBrand.Text 
    cmd.Parameters("@OE_Model").Value = cmbModel.Text 
    cmd.Parameters("@OE_Specs").Value = txtSpecs.Text 
    cmd.Parameters("@OE_SerialNo").Value = txtSerialNo.Text 
    cmd.Parameters("@OE_PropertyNo").Value = txtPropertyNo.Text 
    cmd.Parameters("@OE_MacAddress").Value = txtMacAddress.Text 
    cmd.Parameters("@OE_Static_IP").Value = txtStaticIp.Text 
    cmd.Parameters("@OE_Vendor").Value = txtVendor.Text 
    cmd.Parameters("@OE_PurchaseDate").Value = txtPurchaseDate.Text 
    cmd.Parameters("@OE_WarrantyInclusiveYear").Value = txtWarrantyInclusiveYear.Text 
    cmd.Parameters("@OE_WarrantyStatus").Value = txtWarrantyStatus.Text 
    cmd.Parameters("@OE_Status").Value = txtStatus.Text 
    cmd.Parameters("@OE_Dept_Code").Value = cmbDeptCode.Text 
    cmd.Parameters("@OE_Location_Code").Value = cmbLocationCode.Text 
    cmd.Parameters("@OE_Remarks").Value = txtRemarks.Text 

    cmd.ExecuteNonQuery() 

    MsgBox("Successfully Added Equipment Profile") 

    sqlconn.Close() 

내 삽입 및 업데이트 저장 프로 시저를 SQL Server를 사용하여 데이터베이스에 레코드를 삽입, null 값을 허용,하지만 어떻게 난 정말 널 (null) 값을 일부 열을해야 할 경우는 어떻습니까?업데이트하는 경우에는 null 값이 없을 때 작업하는 저장 프로 시저

내가 코드 예제에 대해 vb.net 2003

어떤 제안을 SQL Server 저장 프로 시저를 사용하고

답변

3

당신은 당신의 저장 프로 시저에 매개 변수로 DBNull.Value를 사용할 수 있습니다. 테이블에서 필드의 널값을 허용하는지 확인하십시오.

예를 들어 당신이되고 OE_Brand를 원한다면 null 당신이 할 수 있습니다

cmd.Parameters("@OE_Brand").Value = DBNull.Value 
+0

을 먼저 사용하십시오. 하지만 여전히 정답은 똑같습니다. – ivandinglasan

3

매개 변수가 표시되지 않습니다 Nothing로 설정. DBNull.Value 대신