asp.net批量添加手机号码,要求不重复

jadedm 2009-07-30 03:14:39
TextBox 只是添加手机号码的多行文本框 lable 是用户的登录名字 (固定)

目的 就是批量添加 手机号的 就是不让添加重复的 也不能和数据库中的 重复 用的是for循环批量添加的

下面的有错误 哪位帮看下 改下 最好有详细的 代码


protected void But_add_Click(object sender, EventArgs e)
{
string[] strArray = this.TextBox1.Text.ToString().Split('\n');
System.Collections.Hashtable strTable = new System.Collections.Hashtable();
for (int i = 0; i < strArray.Length; i++)
{
if (strArray[i].Length == 11)
{
if (!strTable.ContainsKey(strArray[i]))
{
strTable.Add(strArray[i], strArray[i]);
}
}
}
for (int i = 0; i < strTable.Count; i++)
{
string telNumber = strTable[i].ToString();// 未将对象引用到实例 ????

string strcon = @"Provider=Microsoft.Jet.OLEDB.4.0;data source=" + Server.MapPath("sms.mdb");
OleDbConnection conn = new OleDbConnection(strcon);
string sql = "INSERT INTO gusetinfo (username,guesttel) values('" + Label1.Text + "','" + telNumber + "')";
OleDbCommand cmd = new OleDbCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();

}
...全文
329 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyuen1 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dazhong23 的回复:]
你这根本就不对,数据库中重复的你没处理,先把数据从数据库取出来放到一个
Dictionary <string, string> Paras = new Dictionary <string, string>();
        if (!Paras.ContainsKey("name"))
        {
            Paras.Add("name", "value");
        }

之后再写回数据库。
你也可以把数据里没有直接插入数据库。
[/Quote]
正解
myzvszidone10 2009-08-01
  • 打赏
  • 举报
回复
string[] strArray = this.TextBox1.Text.ToString().Split(new char[]{'\n'});
Split()的参数类型……,如果是分割哪里的问题
jadedm 2009-08-01
  • 打赏
  • 举报
回复
我的就是一个号码放一行的
  • 打赏
  • 举报
回复
每个号码放一行


protected void btn_Click(object sender, EventArgs e)
{
string strTelphone = telphone.Text.Replace("\r\n",";");
if (strTelphone.EndsWith(";"))
{
strTelphone = strTelphone.Remove(strTelphone.Length - 1, 1);
}
string[] arrTelphone = strTelphone.Split(';');
System.Collections.Generic.HashSet<string> values = new HashSet<string>();
foreach (string item in arrTelphone)
{
if (values.Contains(item))
{
continue;
}
values.Add(item);
}
gv.DataSource = values;
gv.DataBind();
}

jadedm 2009-08-01
  • 打赏
  • 举报
回复
仔细研究下 。。。
wuyq11 2009-07-30
  • 打赏
  • 举报
回复
string[] content = textbox1.Text.Replace("\r", "").Split("\n");});
wuyq11 2009-07-30
  • 打赏
  • 举报
回复
Hashtable hashTable = new Hashtable();


foreach (DictionaryEntry de in hashTable)
{
System.Windows.Forms.MessageBox.Show(de.Key.ToString());
System.Windows.Forms.MessageBox.Show(de.Value.ToString());
}

System.Collections.IDictionaryEnumerator enumerator = hashTable.GetEnumerator();
while (enumerator.MoveNext())
{
System.Windows.Forms.MessageBox.Show(enumerator.Key.ToString());
System.Windows.Forms.MessageBox.Show( enumerator.Value.ToString());
}

GTBGT525 2009-07-30
  • 打赏
  • 举报
回复
  if (!strTable.ContainsKey(strArray[i])) 
{
strTable.Add(strArray[i], strArray[i]);
}


这你里已经对重复进行了处理。 只要把分割搞一搞就OK 了
GTBGT525 2009-07-30
  • 打赏
  • 举报
回复
protected void But_add_Click(object sender, EventArgs e) 
{
this.TextBox1.Text="13264598478,"
+"13264598578,"
+"13264598578,"
+"13264598538,"
+"13264598598,"
+"13264598518," ;

string[] strArray = this.TextBox1.Text.ToString().Split(",");
//请不要分割'\n' 换成","也行,其它符号也可以 我这里使用",";
System.Collections.Hashtable strTable = new System.Collections.Hashtable();
for (int i = 0; i < strArray.Length; i++)
{
if (strArray[i].Length == 11)
{
if (!strTable.ContainsKey(strArray[i]))
{
strTable.Add(strArray[i], strArray[i]);
}
}
}
for (int i = 0; i < strTable.Count; i++)
{
string telNumber = strTable[i].ToString();// 未将对象引用到实例 ????

string strcon = @"Provider=Microsoft.Jet.OLEDB.4.0;data source=" + Server.MapPath("sms.mdb");
OleDbConnection conn = new OleDbConnection(strcon);
string sql = "INSERT INTO gusetinfo (username,guesttel) values('" + Label1.Text + "','" + telNumber + "')";
OleDbCommand cmd = new OleDbCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();

}
jadedm 2009-07-30
  • 打赏
  • 举报
回复
顶一下
jadedm 2009-07-30
  • 打赏
  • 举报
回复
哪位根据需求 给个完整的 楼上说的也是 数据库重复的没处理
dazhong23 2009-07-30
  • 打赏
  • 举报
回复
你这根本就不对,数据库中重复的你没处理,先把数据从数据库取出来放到一个
Dictionary<string, string> Paras = new Dictionary<string, string>();
if (!Paras.ContainsKey("name"))
{
Paras.Add("name", "value");
}

之后再写回数据库。
你也可以把数据里没有直接插入数据库。
jadedm 2009-07-30
  • 打赏
  • 举报
回复
是的 应该是没有分割成功
GTBGT525 2009-07-30
  • 打赏
  • 举报
回复
string[] strArray = this.TextBox1.Text.ToString().Split('\n');
//这里应该没有数据。分割不成功,试试strArray有没有数据 0吧我想
GTBGT525 2009-07-30
  • 打赏
  • 举报
回复


protected void But_add_Click(object sender, EventArgs e)
{
string[] strArray = this.TextBox1.Text.ToString().Split('\n');//这里应该没有数据。分割不成功,试试strArray有没有数据 0吧我想 System.Collections.Hashtable strTable = new System.Collections.Hashtable();
for (int i = 0; i < strArray.Length; i++)
{
if (strArray[i].Length == 11)
{
if (!strTable.ContainsKey(strArray[i]))
{
strTable.Add(strArray[i], strArray[i]);
}
}
}
for (int i = 0; i < strTable.Count; i++)
{
string telNumber = strTable[i].ToString();// 未将对象引用到实例 ????

string strcon = @"Provider=Microsoft.Jet.OLEDB.4.0;data source=" + Server.MapPath("sms.mdb");
OleDbConnection conn = new OleDbConnection(strcon);
string sql = "INSERT INTO gusetinfo (username,guesttel) values('" + Label1.Text + "','" + telNumber + "')";
OleDbCommand cmd = new OleDbCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();

}


zzxap 2009-07-30
  • 打赏
  • 举报
回复
System.Collections.Hashtable strTable = new System.Collections.Hashtable();
放在外面
  • 打赏
  • 举报
回复
Hashtable 不是像你那样用的

请这样访问Hashtable 里的元素

foreach (DictionaryEntry objDE in telNumber )
{
string telKey = objDE.Key.ToString()
string telNumber = objDE.Value.ToString()
}





slimboy123 2009-07-30
  • 打赏
  • 举报
回复

using System.Collections;


foreach(DictionaryEntry de in strTable)
{
string telNumber = de.Value.ToString();
string strcon = @"Provider=Microsoft.Jet.OLEDB.4.0;data source=" + Server.MapPath("sms.mdb");

.....
.....
}
主要功能: 1.多用户注册各自使用,互不干予。 2.在自己的空间中上传多文件及大文件进行在线查看管理,可建多级目录存放。 3.文件目录多级共享,可共享整个用户空间。 4.树状显示系统功能和目录结构,操作方便。 5.界面模板和样式自定义并可由用户在前台选择喜爱的空间风格。 6.共享权限可设好友、所有人、指定人,并可指定共享类别、查看密码、列表修改删除下载等权限。 7.用户的共享目录和文件可自行设置外部空间处固顶和精华。 8.可以按名称、时间、大小、类型、注释、子目录等元素组合搜索文件。 9.文件和目录可进行压缩解压ZIP操作,可以批量上传及批量下载文件。 10.文件提取功能,可同时定义多个文件的提取码,提取码可个性化定义,并可限制下载次数及天数。 11.上传码功能,可定义一个目录的外部允许上传密码,访客可凭此密码上传到此目录。 12.文件转发功能,可将多个文件下载地址通过邮件或短信发送给他人下载,并可限制下载次数及天数。 13.在线编辑文本文件、播放任何影音文件、查看图片内容、对共享文件及目录添加文字注释功能。 14.在线编辑Word,Excel,PowerPoint文件。 15.强大的在线图片编辑功能(缩放,旋转,水印,裁剪)。 16.类似Windows中的图片缩略图预览模式,方便查看图片。 17.注册用户有二级域名空间可以让访客随时访问自己的空间进行文件浏览下载。 18.访客可在外部空间处根据当前权限直接进行添加目录或上传文件。 19.各种文件类型地址点击复制和短地址功能。 20.在空间中上传文件或添加外部网址两种方式。 21.好友功能,可将他人加为好友,并查看对方的指定好友文件及发送短消息。 22.可将好友分组规划,并按分组进行文件共享给指定组的好友。 23.可对自己的所有共享和提取进行查看及管理,批量修改或删除。 24.下载统计功能,可对各个用户下载的每个文件有明确的记录和统计。 25.上传统计功能,可对用户上传的每个文件做记录,监督非法文件。 26.公共目录及公共文件区,显示每个用户共享给所有人的文件及目录列表并可下载。 27.用户可按等级权限自由绑定顶级域名代替外部空间地址,空间地址个性化。 28.用户空间个性化定义公告及标题显示,和对访客留言的查看及管理。 29.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通,PayNow(台湾)在线支付,用户可任选支付,空间自动续费升级,别人代充,充值卡使用管理。 32.用户积分功能, 可积分兑换金币并可升级空间。 33.前台违法举报,实时对上传内容进行管理。 34.网站留言功能,用户可实时向管理员反馈信息,管理员后台回复。 35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传的所有文件。 39.强大的用户查找,根据有效期、最后登录时间,审核及锁定,等级及分组查找。 40.共享目录及共享文件查看及管理,未共享的文件不会列出,充份保护用户隐私。 41.用户等级制,可设每个等级的空间、上传大小及其它条数限制。 42.为每个等级设置下载速度上限、开启二级域名及等级费用。 43.用户分组功能,可设定一组用户文件的存放盘符及路径,可前台选择,并可多网站管理。 44.允许/禁止的上传扩展名设定,编辑、查看、播放的扩展名设定功能。 45.注册审核、邮件验证、防重复IP注册、时长注册功能。 46.来访IP限制设定和管理员可登录的IP设定。 47.后台管理员可进行管理权限划分并记录操作日志。 48.系统菜单的后台添加和管理。 49.回收站功能,并可在后台设置自动删除时间。 50.文件共享审核功能,杜绝用户共享非法文件。 51.可直观设定目录、文件、用户、公告的外部调用参数,支持模板调用。 52.导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。 53.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 54.页面广告分区添加及管理和客户端广告管理。 55.随时在线整理硬盘和数据库中的数据,保持数据最优化。 56.在线压缩及备份数据库功能。 57.管理员可自行制作文件下载详细信息页,放置各种广告代码。 58.完善的等级防盗链及流量控制功能。 59.支持大文件、多文件、断点续传、进度显示上传。 60.支持直接下载其它网站文件至空间,带详细进度显示功能。 61.可自动开通FTP帐号对应用户空间进行文件管理。 62.仅需为程序目录及用户存放目录设置写入及修改权限,系统更安全。 63.支持分布式多台服务器协同管理。 64.完美兼容firefox等其它非IE内核浏览器。 65.三层架构模式开发,扩充及调用更方便。 66.内含ajax文件操作技术,更加提高用户体验,提高系统运行效率。 67.支持客户端软件管理。 68.分简体版、繁体版、英文版三种版本。 69.可与《桃源相册管理系统》的用户进行整合。 70.标签及用户和文件信息的参数调用,可单独组合设计前台展示页面。 71.自带插件配置接口,支持插件开发和使用。
主要功能: 1.多用户注册各自使用,互不干予。 2.在自己的空间中上传多文件及大文件进行在线查看管理,可建多级目录存放。 3.文件目录多级共享,可共享整个用户空间。 4.树状显示系统功能和目录结构,操作方便。 5.界面模板和样式自定义并可由用户在前台选择喜爱的空间风格。 6.共享权限可设好友、所有人、指定人,并可指定共享类别、查看密码、列表修改删除下载等权限。 7.用户的共享目录和文件可自行设置外部空间处固顶和精华。 8.可以按名称、时间、大小、类型、注释、子目录等元素组合搜索文件。 9.文件和目录可进行压缩解压ZIP操作,可以批量上传及批量下载文件。 10.文件提取功能,可同时定义多个文件的提取码,提取码可个性化定义,并可限制下载次数及天数。 11.上传码功能,可定义一个目录的外部允许上传密码,访客可凭此密码上传到此目录。 12.文件转发功能,可将多个文件下载地址通过邮件或短信发送给他人下载,并可限制下载次数及天数。 13.在线编辑文本文件、播放任何影音文件、查看图片内容、对共享文件及目录添加文字注释功能。 14.在线编辑Word,Excel,PowerPoint文件。 15.强大的在线图片编辑功能(缩放,旋转,水印,裁剪)。 16.类似Windows中的图片缩略图预览模式,方便查看图片。 17.注册用户有二级域名空间可以让访客随时访问自己的空间进行文件浏览下载。 18.访客可在外部空间处根据当前权限直接进行添加目录或上传文件。 19.各种文件类型地址点击复制和短地址功能。 20.在空间中上传文件或添加外部网址两种方式。 21.好友功能,可将他人加为好友,并查看对方的指定好友文件及发送短消息。 22.可将好友分组规划,并按分组进行文件共享给指定组的好友。 23.可对自己的所有共享和提取进行查看及管理,批量修改或删除。 24.下载统计功能,可对各个用户下载的每个文件有明确的记录和统计。 25.上传统计功能,可对用户上传的每个文件做记录,监督非法文件。 26.公共目录及公共文件区,显示每个用户共享给所有人的文件及目录列表并可下载。 27.用户可按等级权限自由绑定顶级域名代替外部空间地址,空间地址个性化。 28.用户空间个性化定义公告及标题显示,和对访客留言的查看及管理。 29.站内短信功能,提供收件箱、发件箱、已发送、垃圾箱功能。 30.用户空间中子帐号管理,可建多个相应操作权限的用户登录同一用户空间。 31.网银、支付宝、快钱、财付通、云网、易充、PayNow(台湾)在线支付,用户可任选支付,空间自动续费升级,别人代充,充值卡使用管理。 32.用户积分功能, 可积分兑换金币并可升级空间。 33.前台违法举报,实时对上传内容进行管理。 34.网站留言功能,用户可实时向管理员反馈信息,管理员后台回复。 35.自动过滤内容和禁传非法文件,防止不正当使用。 36.可针对不同等级,不同分组的用户设置进入时公告。 37.批量用户管理操作,群发短信/邮件,可对列表中的所有用户统一一次操作。 38.后台实时查看及管理用户上传的所有文件。 39.强大的用户查找,根据有效期、最后登录时间,审核及锁定,等级及分组查找。 40.共享目录及共享文件查看及管理,未共享的文件不会列出,充份保护用户隐私。 41.用户等级制,可设每个等级的空间、上传大小及其它条数限制。 42.为每个等级设置下载速度上限、开启二级域名及等级费用。 43.用户分组功能,可设定一组用户文件的存放盘符及路径,可前台选择,并可多网站管理。 44.允许/禁止的上传扩展名设定,编辑、查看、播放的扩展名设定功能。 45.注册审核、邮件验证、防重复IP注册、时长注册功能。 46.来访IP限制设定和管理员可登录的IP设定。 47.后台管理员可进行管理权限划分并记录操作日志。 48.系统菜单的后台添加和管理。 49.回收站功能,并可在后台设置自动删除时间。 50.文件共享审核功能,杜绝用户共享非法文件。 51.可直观设定目录、文件、用户、公告的外部调用参数,支持模板调用。 52.导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。 53.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 54.页面广告分区添加及管理和客户端广告管理。 55.随时在线整理硬盘和数据库中的数据,保持数据最优化。 56.在线压缩及备份数据库功能。 57.管理员可自行制作文件下载详细信息页,放置各种广告代码。 58.完善的等级防盗链及流量控制功能。 59.支持大文件、多文件、断点续传、进度显示上传。 60.支持直接下载其它网站文件至空间,带详细进度显示功能。 61.可自动开通FTP帐号对应用户空间进行文件管理。 62.仅需为程序目录及用户存放目录设置写入及修改权限,系统更安全。 63.支持分布式多台服务器协同管理。 64.完美兼容firefox等其它非IE内核浏览器。 65.三层架构模式开发,扩充及调用更方便。 66.内含ajax文件操作技术,更加提高用户体验,提高系统运行效率。 67.支持客户端软件管理。 68.分简体版、繁体版、英文版三种版本。 69.可与《桃源相册管理系统》的用户进行整合。 70.标签及用户和文件信息的参数调用,可单独组合设计前台展示页面。 71.自带插件配置接口,支持插件开发和使用。

软件名称:动软.Net代码自动生成器(Codematic)
软件版本:1.9.7.2 (2006.4.14)
软件容量:2.65 MB
软件分类:开发工具
软件性质:国产软件 / 简体中文 / 免费软件
应用平台:WinNT/2000/XP/2003/Longhorn/Vista
界面预览:http://www.Maticsoft.com/Codematic.aspx
官方网站:http://www.Maticsoft.com
官方论坛:http://bbs.Maticsoft.com
电子信箱:l_tp@163.com
下载地址:http://www.maticsoft.com/soft/Codematic.rar

软件简介:
Codematic 是一款为 C# 数据库程序员设计的自动代码生成器,Codematic 生成的代码基于基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。采用 Model + DAL + BLL + Web 的设计,主要实现在 C# 中对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、 Model 类构造等基础代码片断,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。
Codematic 同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自动导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。

详细功能说明:

1.自动代码生成。
可以生成三层架构的代码。如果采用类似petshop架构模式的架构,则代码生成效率很高。
它可以生成:实体Model,DAL(数据访问层),IDAL(接口层),DALFactory(类工厂),BLL(业务逻辑层),WEB层等多层的代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。我感觉有了它开发项目的效率简直好轻松。
(1)自动生成属性注释.
(2)可以自由设定命名空间和实体类名。
(3)免费提供数据库访问,页面数据校验等等基础类库及封装类库源码。自己可以对其进行修改保存满足自己的需要。
(4)支持不同类型数据层的生成: 基于SQL语句,基于参数,基于存储过程。
(5)支持选择不同架构代码生成:简单基本三层结构;基于工厂模式+反射机制+缓存机制的复合结构;自定义结构模版。
(6)可以生成增加,显示等页面主体Html代码,和后台.cs处理代码。
(7)支持对多种类型数据库生成代码:如SQLServer2000,SQLServer2005,Oracle,OleDb等。

2.数据库管理器。
类似SQLServer2000的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且可以很直观的查看字段类型,长度,主键,默认值等详细信息,省去了在代码和数据库管理器之间的来回切换,方便快捷。
(1)支持多种类型数据库。如SQLServer2000,SQLServer2005,Oracle,OleDb等。
(2)创建表脚本和存储过程及数据脚本,支持执行。
(3)导出表脚本和存储过程文件。
(4)表的重命名,删除操作。

3.查询分析器。
实现类似于SQLServer的查询分析器的功能,方便编写代码时想进行数查询。
(1)实现执行选中部分SQL语句。
(2)实现关键字高亮。
(3)支持F5快捷键执行语句。
(4)实现打开现有脚本,保存当前脚本功能。
(5)实现错误检测提示功能。

4. 自动生成存储过程和SQL脚本。
可以根据选定的数据库和表(可多选),生成表的创建脚本,以及表数据的插入脚本,同时可以生成表的增,删,改,查等操作的存储过程脚本。支持在当前生成和导出脚本文件功能.

5. 自动生成数据库结构文档。
可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息.生成相应的表结构文档,免去手工写文档和操作的麻烦。

6. Web项目文件发布。
有时候我们需要根据自己的要求,导出项目文件,VS.NET自带的复制项目功能,对一些图片或js 文件等等其他一些文件,不能自动导出,除非把这些都添加到项目里。所以,有了这个功能,对项目发布非常的方便,并且支持自己定义哪些发布哪些不发布。

7. 代码生成自动导出功能。
代码生成器可以选定一个表来生成代码,然后粘贴到项目里。但如果表很多,来回这么操作太麻烦,所以,这个功能可以按三层架构,自动建立文件夹,并自动生成所选的所有表的.cs代码文件,只需要添加到项目里就可以了。

8.其他功能:
(1) C#ToVB.NET代码转换器.
(2) 实现了热键呼出。可以自己设定热键.当你点窗口的[X]关闭程序时,程序会自动隐藏运行在任务栏,通过热键可以快速呼出窗口。


**************************************************************************************

同时,发布基于该模式的一套示例项目系统源码,包括完整UI。

下载地址:http://www.maticsoft.com/soft/Codematicdemo.rar

使用该架构与动软.NET代码自动生成器结合开发项目,可以大大节省开发时间,提高效率。
让开发变得轻松,使工作变得快乐!

****************************************************************************************

用智慧改变世界,用创造改变生活。其实,工作也很快乐!— 李天平

****************************************************************************************


62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧