请教注释内加什么样的代码才能解决问题有关ListView
public void Delete_Load(object sender, EventArgs e)
{
DataTable dt = dbconn( "select * from UserInformation ");
/*try
{
//for循环内首先获得数据库表中的数据,然后获得
//表中选中的数据单击修改后修改该数据的信息.关闭
//重新显示更新后的数据
for (string i = 0; i < dt.Rows; i++)
{
txt1.Text= ;
for (string j = 0; j < dt.Columns.Count; j++)
{
txt1.Text = j.ToString(dt.Columns.Count[0]);
txt2.Text = j.ToString(dt.Columns.Count[1]);
txt3.Text = j.ToString(dt.Columns.Count[2]);
txt4.Text = j.ToString(dt.Columns.Count[3]);
}
}
}
catch(exception err)
{
}
*/
}
private DataTable dbconn(string strsql)
{
DataTable dat = new DataTable();
try
{
SqlConnection conn;
string strconn = "Data Surse=zl;Database=LED;Username=sa;pwd= ' ' ";
conn=new SqlConnection (strconn);
conn.Open();
SqlDataAdapter da=new SqlDataAdapter(strsql,conn);
da.Fill(dat);
conn.Close();
}
catch(Exception err)
{
MessageBox.Show( "有错误 " + MessageBoxButtons.OK);
}
return dat;
}
删除块的代码不知道该如何写~请教
[解决办法]
ListView 内留一个字段保存UserInformation的ID字段。
ListView加一个control 叫delete(CommandName设置为“delete”)
在出发ListView_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
的事件的时候写
switch (e.CommandName.ToString())
{
case "delete "
DoDelete(到e里面拿ID)
}
private void DoDelete(int ID)
{
string sql = "delete from UserInformation where id = " + ID;
//用EnterpriseLibrary中对数据库操作的封装
SqlHelper.Exec(Connection,sql);
}
EnterpriseLibrary中的SqlHelper类
// ===============================================================================
// Microsoft Data Access Application Block for .NET
// http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp
//
// SQLHelper.cs
//
// This file contains the implementations of the SqlHelper and SqlHelperParameterCache
// classes.
//
// For more information see the Data Access Application Block Implementation Overview.
// ===============================================================================
// Release history
// VERSIONDESCRIPTION
// 2.0Added support for FillDataset, UpdateDataset and "Param " helper methods
//
// ===============================================================================
// Copyright (C) 2000-2001 Microsoft Corporation
// All rights reserved.
// THIS CODE AND INFORMATION IS PROVIDED "AS IS " WITHOUT WARRANTY
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR
// FITNESS FOR A PARTICULAR PURPOSE.
// ==============================================================================
using System;
using System.Data;
using System.Xml;
using System.Data.SqlClient;
using System.Collections;
namespace UnifiedUtility.DbAccess
{
/// <summary>
/// The SqlHelper class is intended to encapsulate high performance, scalable best practices for
/// common uses of SqlClient
/// </summary>
internal sealed class SqlHelper
{
#region private utility methods & constructors
// Since this class provides only static methods, make the default constructor private to prevent
// instances from being created with "new SqlHelper() "
private SqlHelper() { }
/// <summary>
/// This method is used to attach array of SqlParameters to a SqlCommand.
///
/// This method will assign a value of DbNull to any parameter with a direction of
/// InputOutput and a value of null.
///
/// This behavior will prevent default values from being used, but
/// this will be the less common case than an intended pure output parameter (derived as InputOutput)
/// where the user provided no input value.
/// </summary>
/// <param name= "command "> The command to which the parameters will be added </param>
/// <param name= "commandParameters "> An array of SqlParameters to be added to command </param>
private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters)
{
if (command == null) throw new ArgumentNullException( "command ");
if (commandParameters != null)
{
foreach (SqlParameter p in commandParameters)
{
if (p != null)
{
// Check for derived output value with no value assigned
if ((p.Direction == ParameterDirection.InputOutput ||
p.Direction == ParameterDirection.Input) &&
(p.Value == null))
{
p.Value = DBNull.Value;
}
command.Parameters.Add(p);
}
}
}
}
/// <summary>
/// This method assigns dataRow column values to an array of SqlParameters
/// </summary>
/// <param name= "commandParameters "> Array of SqlParameters to be assigned values </param>
/// <param name= "dataRow "> The dataRow used to hold the stored procedure 's parameter values </param>
private static void AssignParameterValues(SqlParameter[] commandParameters, DataRow dataRow)
{
if ((commandParameters == null) || (dataRow == null))
{
// Do nothing if we get no data
return;
}
int i = 0;
// Set the parameters values
foreach (SqlParameter commandParameter in commandParameters)
{
// Check the parameter name
if (commandParameter.ParameterName == null ||
commandParameter.ParameterName.Length <= 1)
throw new Exception(
string.Format(
"Please provide a valid parameter name on the parameter #{0}, the ParameterName property has the following value: '{1} '. ",
i, commandParameter.ParameterName));
if (dataRow.Table.Columns.IndexOf(commandParameter.ParameterName.Substring(1)) != -1)
commandParameter.Value = dataRow[commandParameter.ParameterName.Substring(1)];
i++;
}
}
/// <summary>
/// This method assigns an array of values to an array of SqlParameters
/// </summary>
/// <param name= "commandParameters "> Array of SqlParameters to be assigned values </param>
/// <param name= "parameterValues "> Array of objects holding the values to be assigned </param>
private static void AssignParameterValues(SqlParameter[] commandParameters, object[] parameterValues)
{
if ((commandParameters == null) || (parameterValues == null))
{
// Do nothing if we get no data
return;
}
// We must have the same number of values as we pave parameters to put them in
if (commandParameters.Length != parameterValues.Length)
{
throw new ArgumentException( "Parameter count does not match Parameter Value count. ");
}
// Iterate through the SqlParameters, assigning the values from the corresponding position in the
// value array
for (int i = 0, j = commandParameters.Length; i < j; i++)
{
// If the current array value derives from IDbDataParameter, then assign its Value property
if (parameterValues[i] is IDbDataParameter)
{
IDbDataParameter paramInstance = (IDbDataParameter)parameterValues[i];
if (paramInstance.Value == null)
{
commandParameters[i].Value = DBNull.Value;
}
else
{
commandParameters[i].Value = paramInstance.Value;
}
}
else if (parameterValues[i] == null)
{
commandParameters[i].Value = DBNull.Value;
}
else
{
commandParameters[i].Value = parameterValues[i];
}
}
}