使用控件插入数据,并且验证数据不重复,核心关键的部分
webconfig部分
<appSettings>
<add key="connstring" value="provider=microsoft.jet.oledb.4.0;data source=|datadirectory|bbb.mdb"/>
</appSettings>
protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
// 查找文本框控件
TextBox txtName = (TextBox)DetailsView1.FindControl("TextBox1");
if (new olecado().kongjianexist(txtName.Text.ToString().Trim()))
{
e.Cancel = true;
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('数据已存在,请重新输入');</script>");
}
}
----------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
命名空间name,类库
namespace dal
{
public class olecado
{
private olehelp olehelper;
public olecado()
{
olehelper = new olehelp();
}
。。。。。。。。。。。。。。。。
/// <summary>
/// 判断空间插入数据有没有重复
/// </summary>
/// <param name="catename"></param>
/// <returns></returns>
public bool kongjianexist(string name)
{
bool flag = false;
OleDbParameter[] paras = new OleDbParameter[] { new OleDbParameter("@name",name) };
DataTable dt = olehelper.execquery("select * from bbb where name=@name", paras, CommandType.Text);
//DataTable dt = olehelper.execquery("select * from category where catename='" + catename + "'", CommandType.Text);
if (dt.Rows.Count > 0)
{
flag = true;
}
return flag;
}
-----------------------------------------------------------------------------------------
命名空间,原始代码help(核心)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.Configuration;
namespace dal
{
public class olehelp
{
private OleDbConnection conn = null;
private OleDbCommand cmd = null;
private OleDbDataReader oddr = null;
public olehelp()
{
conn = new OleDbConnection(ConfigurationManager.AppSettings["connstring"].ToString());
}
private OleDbConnection getconn()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return conn;
}
/// <summary>
/// 执行不带参数的增删改语句
/// </summary>
/// <param name="cmdtext">增删改语句</param>
/// <param name="ct">命令行模式</param>
/// <returns>数值</returns>
public int execnonquery(string cmdtext, CommandType ct)
{
int res;
try
{
cmd = new OleDbCommand(cmdtext, getconn());
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
return res;
}
/// <summary>
/// 执行带参数的增删改语句
/// </summary>
/// <param name="cmdtext"></param>
/// <param name="paras"></param>
/// <param name="ct"></param>
/// <returns></returns>
public int execnonquery(string cmdtext, OleDbParameter[] paras, CommandType ct)
{
int res;
using (cmd = new OleDbCommand(cmdtext, getconn()))
{
cmd.Parameters.AddRange(paras);
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
return res;
}
/// <summary>
/// 执行不带参数查询语句
/// </summary>
/// <param name="cmdtext">语句</param>
/// <param name="ct">命令格式</param>
/// <returns>数据表</returns>
public DataTable execquery(string cmdtext, CommandType ct)
{
DataTable dt = new DataTable();
cmd = new OleDbCommand(cmdtext, getconn());
cmd.CommandType = ct;
using (oddr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(oddr);
}
return dt;
}
/// <summary>
/// 执行带参数的查询语句
/// </summary>
/// <param name="cmdtext">语句</param>
/// <param name="paras">参数</param>
/// <param name="ct">命令格式</param>
/// <returns>数据表</returns>
public DataTable execquery(string cmdtext, OleDbParameter[] paras, CommandType ct)
{
DataTable dt = new DataTable();
cmd = new OleDbCommand(cmdtext, getconn());
cmd.Parameters.AddRange(paras);
cmd.CommandType = ct;
using (oddr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(oddr);
}
return dt;
}
}
}

浙公网安备 33010602011771号