ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Insert,Delete语句来操作数据库,其方法返回值意义:对于 Update,Insert,Delete 语句 执行成功是返回值为该命令所影响的行数,如果影响的行数为0时返回的值为0,如果数据操作回滚得话返回值为-1,对于这种更新操作 用我们平时所用的是否大于0的判断操作应该没有问题而且比较好,但是对于其他的操作如对数据库结构的操作,如果操作成功时返回的却是-1,这种情况跟我们平时的思维方式有点差距所以应该好好的注意了,例如对数据库共添加一个数据表的Create操作,当创建数据表成功时返回-1,如果操作失败的话(如数据表已经存在)往往会发生异常,所以执行这种操作时最好用try--catch--语句来容错。
例如用ExecuteNonQuery()方法执行create操作
[code]
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=PSDB;Integrated Security=SSPI");
string str = "CREATE TABLE aaa ( " +
"[ID] [int] IDENTITY (1, 1) NOT NULL , " +
"[BasicID] [int] NULL ," +
"[AdoptedName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ," +
"[AdoptedSex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ," +
"[AdoptBirthday] [smalldatetime] NULL ," +
"[AdoptedType] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ," +
"[ApprTime] [smalldatetime] NULL ," +
"[Remark] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL " +
") ON [PRIMARY] ";
SqlCommand comm = new SqlCommand(str, conn);
int i = 10;
try
{
conn.Open();
i = comm.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
Response.Write(i.ToString());
[code]
如果执行成功的话 返回的值为-1,如果数据表已经存在的话返回异常:数据库中已存在名为 'aaa' 的对象。
1.什么是Html服务器控件?
是HTML元素的一种演变,通过将HTML元素转换为HTML服务器控件,也就是添加Runat="Server"属性,这样就使得HTML元素组件可以在服务器上以组件的方式出现了,并可以通过组件的方式对其编程去创建Web页面了
2.什么是Web服务器控件?
Web 服务器控件同样在服务器创建,且需要 runat="server" 属性才能工作。不过,Web 服务器控件不必映射任何已有的 HTML 元素,它们可代表更复杂的元素。
3.他们有什么内在的区别吗?
单从定义还是看不出它们有什么太大的区别,我只能理解到一个需要映射HTML元素,一个不需要HTML元素.说到这,我想肯定同志对HTML元素产生疑惑吧.呵呵,HTML元素指的是从开始标签到结束标签的所有代码,详见:百度百科
下面我们通过MindManager来展示一下它们的区别吧
4.分别在什么时候使用他们呢?
如果某些控件不需要服务器端的事件或状态管理功能时,可以选择HTML控件,这样可以提高应用程序的性能;如果需要对控件进行动态的处理,或要保存其状态等可以选择WEB服务器控件!WEB服务器控件用起来个人认为要方便,但考虑性能的话在能不用WEB服务器控件的地方就尽量不用
现在清楚了这两种控件的区别和联系了,接下来就是去实践中体验了,实践才是硬道理,不过没有这些做铺垫也是不行的.
<asp:Button ID="btnSubmit" runat="server" UseSubmitBehavior="false" OnClientClick="this.disabled=true; " Text="Submit" OnClick="Button1_Click" />
主要添加
UseSubmitBehavior="false" OnClientClick="this.disabled=true; "2个属性 就可以防止多次提交
顺便求助一个问题
这样设置之后,Button1_Click事件执行完成这个禁用属性会变为false,也就是后台事件执行完成之后又可以点击了,现在解决的问题就是直接在
Button1_Click事件里面使用this.btnSubmit.Enabled = false;
如何用JS控制,点击一次禁用之后 都禁用了 也就是去掉this.btnSubmit.Enabled = false;这个 求大神