网络编程
位置:首页>> 网络编程>> ASP.NET>> 学习ASP.NET八天入门:第八天

学习ASP.NET八天入门:第八天

 来源:cnplayer.com 发布时间:2007-08-07 13:55:00 

标签:asp.net,sql,占位符,用法

学习目的

  • 学会SQL中的占位符用法
    在鲸鱼这几天忙死了,好几天没写了,真对不起各位。这几天让XHTML闹得不开心,虽然以前也知道这个,但没太在意。可现在我是如梦初醒,我发觉XHTML是个信号,所以这几天不得不仔细研究一下这个。很笨,我还没发觉XHTML的奥妙。确实如此,没上过台面,真不知这桌菜怎样好吃。少说了,回到正题。
    先把以前的Command的CommandText重新写过:

    cmd.CommandText = "INSERT INTO NewsArticle (Title, SubTitle, Writer, Content)" 
    + " valueS ( @Title, @SubTitle, @Writer, @Content )"; 

    这样代码是否很清晰了,我们可以避免一大串的难以看懂的的语句了。
    接下来,我们就给这些定位符赋予属性和值了:

    cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50); 
    cmd.Parameters.Add("@SubTitle", SqlDbType.NVarChar, 50); 
    cmd.Parameters.Add("@Writer", SqlDbType.NVarChar, 10); 
    cmd.Parameters.Add("@Content", SqlDbType.NText); 


    以上我们给每个占位符定义一个值类型,相信不难看懂吧。接者再给于值:

    cmd.Parameters["@Title"].value = txtTitle.Text.Trim(); 
    if (txtSubTitle.Text == string.Empty || txtSubTitle.Text.Trim() == "") 

    cmd.Parameters["@SubTitle"].value = DBNull.value; 

    else 

    cmd.Parameters["@SubTitle"].value = txtSubTitle.Text.Trim(); 

    if (txtWriter.Text == string.Empty || txtWriter.Text.Trim() == "") 

    cmd.Parameters["@Writer"].value = DBNull.value; 

    else 

    cmd.Parameters["@Writer"].value = txtWriter.Text; 

    cmd.Parameters["@Content"].value = txtContent.Text; 


    其实,也可以这样写:
    cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50) .value = txtTitle.Text.Trim(); 

    这要看你喜欢了。
    不错吧,程序是否很有条理。
    程序代码:
    private void btnPublish_ServerClick(object sender, System.EventArgs e) 

    string strConnection = ConfigurationSettings.AppSettings["SqlDatabase1"]; 
    // 连接SqlServer数据库 
    SqlConnection conn = new SqlConnection(strConnection); 
    // 建立SqlCommand 
    SqlCommand cmd = conn.CreateCommand(); 
    cmd.CommandText = "INSERT INTO NewsArticle (Title, SubTitle, Writer, Content)" 
    + " valueS ( @Title, @SubTitle, @Writer, @Content )"; 
    conn.Open(); 
    cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50); 
    cmd.Parameters.Add("@SubTitle", SqlDbType.NVarChar, 50); 
    cmd.Parameters.Add("@Writer", SqlDbType.NVarChar, 10); 
    cmd.Parameters.Add("@Content", SqlDbType.NText); 
    cmd.Parameters["@Title"].value = txtTitle.Text.Trim(); 
    if (txtSubTitle.Text == string.Empty || txtSubTitle.Text.Trim() == "") 

    cmd.Parameters["@SubTitle"].value = DBNull.value; 

    else 

    cmd.Parameters["@SubTitle"].value = txtSubTitle.Text.Trim(); 

    if (txtWriter.Text == string.Empty || txtWriter.Text.Trim() == "") 

    cmd.Parameters["@Writer"].value = DBNull.value; 

    else 

    cmd.Parameters["@Writer"].value = txtWriter.Text; 

    cmd.Parameters["@Content"].value = txtContent.Text; 
    // 插入记录 
    try 

    cmd.ExecuteNonQuery(); 

    catch (Exception ex) 

    Response.Write("<script language=javascript>alert("输入错误,数据库不能更新。")</script>"); 

    finally 

    conn.Close(); 


  • 相关阅读:

    学习ASP.NET八天入门:第一天

    学习ASP.NET八天入门:第二天

    学习ASP.NET八天入门:第三天

    学习ASP.NET八天入门:第四天

    学习ASP.NET八天入门:第五天

    学习ASP.NET八天入门:第六天

    学习ASP.NET八天入门:第七天

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com