Danh mục

Passing Null Values to Parameters

Số trang: 3      Loại file: pdf      Dung lượng: 14.90 KB      Lượt xem: 9      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 1,000 VND Tải xuống file đầy đủ (3 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

[ Team LiB ] Recipe 2.14 Passing Null Values to Parameters Problem You need to pass a null value to a parameter. Solution Use the System.DbNull.Value static value. The sample code, as shown in Example 2-18, uses a single stored procedure
Nội dung trích xuất từ tài liệu:
Passing Null Values to Parameters[ Team LiB ]Recipe 2.14 Passing Null Values to ParametersProblemYou need to pass a null value to a parameter.SolutionUse the System.DbNull.Value static value.The sample code, as shown in Example 2-18, uses a single stored procedure:SP0214_NullParameter Accepts a single parameter and a returns one-row result set containing a single value indicating whether that input parameter was null.Example 2-18. Stored procedure: SP0214_NullParameterCREATE PROCEDURE SP0214_NullParameter @ValueIn intAS if @ValueIn is null select 1 as IsParameterNull else select 0 as IsParameterNull return 0The sample code contains two event handlers:Go Button.Click Creates a stored procedure command for SP0214_NullParameter and defines its single input parameter. The input parameter is set to System.DbNull.Value if the user has checked the Null Parameter check box on the form; otherwise it is set to the value that the user has entered in the Parameter text box. The stored procedure is executed using the ExecuteScalar( ) method and the value returned indicates whether the input parameter for the stored procedure is null.Null Parameter CheckBox.CheckedChange Clears the value of the Parameter text box if checked and enables the Parameter text box if not checked.The C# code is shown in Example 2-19.Example 2-19. File: NullParameterForm.cs// Namespaces, variables, and constantsusing System;using System.Configuration;using System.Data;using System.Data.SqlClient;// . . .private void goButton_Click(object sender, System.EventArgs e){ // Create the connection. SqlConnection conn = new SqlConnection( ConfigurationSettings.AppSettings[Sql_ConnectString]); // Create the stored procedure command. SqlCommand cmd = new SqlCommand(SP0214_NullParameter, conn); cmd.CommandType = CommandType.StoredProcedure; // Define the parameter. cmd.Parameters.Add(@ValueIn, SqlDbType.Int); // Set the value of the paramter. if (isNullCheckBox.Checked) cmd.Parameters[0].Value = System.DBNull.Value; else cmd.Parameters[0].Value = parameterTextBox.Text; // Retrieve whether parameter null from stored procedure. try { conn.Open( ); bool isNullParm = Convert.ToBoolean(cmd.ExecuteScalar( )); resultTextBox.Text = Null Parameter = + isNullParm; } catch (Exception ex) { resultTextBox.Text = ex.Message; } finally { conn.Close( ); }}private void isNullCheckBox_CheckedChanged(object sender, System.EventArgs e){ if(isNullCheckBox.Checked) parameterTextBox.Text = ; parameterTextBox.Enabled = !isNullCheckBox.Checked;}DiscussionSystem.DBNull is not the same as null in C# or Nothing in VB.NET. System.DBNullindicates that the object represents missing or nonexistent data, typically in a database,while null and Nothing indicate that an object or variable has not yet been initialized.Passing a null parameter value into a stored procedure is not very different than passingany other parameter value. Construct the parameter using either the Parameter constructoror the Add( ) method of the ParameterCollection for the Command object. The value isset by passing System.DBNull.Value for the value argument when constructing theparameter or by setting the Value property of the Parameter object toSystem.DBNull.Value.To test for a null value, the IsDBNull( ) method returns a Boolean value that indicateswhether an object expression evaluates to System.DBNull. This is the same as comparingan object to the System.DBNull.Value using an equality operator.If the stored procedure accepts optional parameters—parameters for which a defaultvalue is specified—you can set these parameters to null in C# or Nothing in VB.NET.This is not the same as setting the parameter value to System.DBNull.Value. Theparameter value is set to the default value specified for the parameter.[ Team LiB ]

Tài liệu được xem nhiều: