replica watches | rolex replica | replica rolex | replica watches | christian louboutin shoes | replica watches | fake watches | replica watches

从零开始学ASP.NET(基础篇)(8)

来源: cnplayer.com   日期:2005-10-28  我要评论  胶粘剂 结构胶 硅胶 密封胶 中国胶粘剂网
第八天 学习目的 学会SQL中的占位符用法 在鲸鱼这几天忙死了,好几天没写了,真对不起各位。这几天让XHTML闹得不开心,虽然以前也知道这个,但没太在意。可现在我是如梦初醒,我发觉XHTML是个信号,所以这几天不得

第八天

学习目的

  • 学会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();
    }
    }
  • 顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    最新评论 查看所有评论
    发表评论 查看所有评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 密码: 验证码: