从零开始学ASP.NET-基础篇

 更新时间:2006年07月12日 00:00:00   作者:  

第八天

学习目的

  • 学会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通过Web.config实现验证账号密码是否正确进行登录

      ASP.NET通过Web.config实现验证账号密码是否正确进行登录

      本文是通过authentication(认证访问者) 和 authorization( 访问权限),来实现一个简单的判断用户账号密码是否正确,需要的朋友可以参考下
      2021-09-09
    • upload上传单张图片

      upload上传单张图片

      这篇文章主要介绍了upload上传单张图片的代码,需要的朋友可以参考下。
      2015-07-07
    • .Net执行SQL存储过程之易用轻量工具详解

      .Net执行SQL存储过程之易用轻量工具详解

      这篇文章主要为大家介绍了.Net执行SQL存储过程之易用轻量工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
      2022-12-12
    • .Net性能调优-ArrayPool详情

      .Net性能调优-ArrayPool详情

      ArrayPool具有高性能 托管 数组缓冲池,可重复使用,用 租用 空间的方式代替 重新分配 数组空间的行为的特点及可以在频繁创建和销毁数组的情况下 提高性能 ,减少垃圾回收器的压力的优点,下面文章内容将详细对其做介绍,需要的朋友可以参考一下
      2021-09-09
    • 水晶易表调用C#的WebService,返回数据集合的应用分析

      水晶易表调用C#的WebService,返回数据集合的应用分析

      本篇文章介绍了,水晶易表调用C#的WebService,返回数据集合的应用分析。需要的朋友参考下
      2013-04-04
    • 在 ASP.NET Core 中自动启用 CAP 事务详情

      在 ASP.NET Core 中自动启用 CAP 事务详情

      本篇文章旨在描述如何在 ASP.NET Core项目中并以一种简便的方式启用CAP事务,因为在我们的示例中都是直接演示比较直观的方式,没有进行封装,有些初学者同学不太会,找到问我如何封装,本篇文章主要基于 Entity Framework 来进行演示
      2021-10-10
    • 详解如何使用Net将HTML简历导出为PDF格式

      详解如何使用Net将HTML简历导出为PDF格式

      这篇文章主要为大家介绍了详解如何使用Net将HTML简历导出为PDF格式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
      2023-03-03
    • .NET6新特性之 隐式命名空间引用

      .NET6新特性之 隐式命名空间引用

      本文给大家分享的是 .NET6特新 隐式命名空间引用,如果我们要在新加一个命名空间的引用,可以在项目文件中配置增加<Using Include="命名空间"/>,如果需要移除一个命名空间可以这么做<Using Remove="命名空间"/>,下面来看看文章详细介绍内容吧,需要的朋友可以参考一下
      2021-11-11
    • ASP.NET Core MVC 过滤器(Filter)

      ASP.NET Core MVC 过滤器(Filter)

      本文小编要给大家介绍的是ASP.NET Core MVC 过滤器,ASP.NET MVC 中的过滤器允许在执行管道中的特定阶段之前或之后运行代码。可以对全局,也可以对每个控制器或每个操作配置过滤器,需要的朋友可以参考下面文章的具体内容
      2021-09-09
    • ASP.NET Core WebSocket集群实现思路详解

      ASP.NET Core WebSocket集群实现思路详解

      这篇文章主要为大家介绍了ASP.NET Core WebSocket集群实现思路详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
      2022-11-11

    最新评论