平台:VS2010 WEB项目 SQL2008
数据表:如下在gridview中显示
ID Name Age TEL
10001 小李 28 13888888888 更新
10002 小张 28 13866666666 更新
10003 小王 55 13888888888 更新
上面三条数据是我添加到数据库的数据.
一,在WEB页面中添加数据时,已经判断数据库NAME列不能重复,其他列是可以重复的.
二,现在我要对10003这条数据进行更新,NAME列的小王,我修改成小李,是可以更新的.当然这不是我要的效果,如果修改成小李,NAME列就重复了(我用添加数据同样的方法去判断NAME重复性,就不能修改AGE,TEL列了).
我要的效果是:
1.点10003这条数据进行更新,小王是不能修改成数据库NAME列相同名称的.小王可以修改成小蒋,小刘都可以,就是不能修改成小李,小张.
2.点10003这条数据进行更新,小王可以不修改,但可以修改AGE,TEL这两列的数据.
3.以上两条要同时满足,我应该怎么做?在此先谢过!所有分送上.
数据表:如下在gridview中显示
ID Name Age TEL
10001 小李 28 13888888888 更新
10002 小张 28 13866666666 更新
10003 小王 55 13888888888 更新
上面三条数据是我添加到数据库的数据.
一,在WEB页面中添加数据时,已经判断数据库NAME列不能重复,其他列是可以重复的.
二,现在我要对10003这条数据进行更新,NAME列的小王,我修改成小李,是可以更新的.当然这不是我要的效果,如果修改成小李,NAME列就重复了(我用添加数据同样的方法去判断NAME重复性,就不能修改AGE,TEL列了).
我要的效果是:
1.点10003这条数据进行更新,小王是不能修改成数据库NAME列相同名称的.小王可以修改成小蒋,小刘都可以,就是不能修改成小李,小张.
2.点10003这条数据进行更新,小王可以不修改,但可以修改AGE,TEL这两列的数据.
3.以上两条要同时满足,我应该怎么做?在此先谢过!所有分送上.
解决方案 »
- c#中ListView如何搜索某个子项,谢谢!!
- 求经验丰富之人指点Datagridview有这种显示方式吗?怎么实现
- 在.Net中用C#如何处理矢量图?
- C#中第一个窗体调用第二窗体成功后,怎么能把第一个窗体关闭,谢谢。
- 同步线程 异步线程 并行问题???
- 200分请教SQL中in参数在存储过程中的传递问题?
- 在Web窗体中怎样使动态添加的控件显现出来?
- 如何利用C#实现程序异常关闭之后页面恢复的功能
- C++中有模板类,C#中有相应的东西吗?
- 告急!帮帮忙!!!
- 写了个winform应用程序。怎样才能发布到没装.NET的系统上?
- 请问C#里有没有跟VB里的Property Let/Set/Get类似的方法?
<EditItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("id") %>'></asp:Label>
<%--编辑状态下为label或textbox的 ReadOnly="true"--%>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
{ GridViewRow myRow = GridView1.Rows[e.RowIndex];
TextBox id = myRow.Cells[1].FindControl("txtId") as TextBox;
TextBox name = myRow.Cells[2].FindControl("txtName") as TextBox;
//判断数据重复
string sql="select * from table1 where name='"+name+"' and id<>'"+id+"'";
DataTable dt=DBHelper.GetTable(sql);
if(dt.Rows.count==0)
{
//如果不重复则更新数据
sql="update table1 set name='"+name+"' where id='"+id+"'";
int rows=DBHelper.ExecuteNonQuery(sql);
if(rows==1)
{
//更新成功
GridView1.EditIndex = -1;
//重新绑定
DataBind();
}
}
//判断数据重复
string sql="select * from table1 where name='"+name+"' and id<>'"+id+"'";
这个sql的就会返回>1的数据,所以就是重复了,你可以试试
编辑状态下:
1.Age TEL 不修改的时候,更新Name,如果发现Name重复,不能更新进去。 2.Name 不修改的的时候,修改Age TEL 数据进行更行,能够更新进去。
楼上的答案都不完善,我最近也遇到类似这样的问题,求大牛技术指导。