第八天

简介:
学习目的
     学会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();
               }
          }


本文转自左洸博客园博客,原文链接:http://www.cnblogs.com/myqiao/articles/233180.html,如需转载请自行联系原作者


目录
相关文章
|
1月前
|
关系型数据库 MySQL
Mysql基础第八天,排序检索数据
Mysql基础第八天,排序检索数据
24 1
|
11月前
|
前端开发
前端学习笔记202304学习笔记第九天-收获
前端学习笔记202304学习笔记第九天-收获
48 0
|
程序员 Go 网络安全
随笔第二周
且视他人之疑目如盏盏鬼火, 大胆去走你的夜路。 ——史铁生《病隙碎笔》
72 0
|
算法 网络协议 安全
随笔第一周
一名双非一本再读的大一计算机类新生,想在此记录一下自己平时的思考过程,锻炼自己的写作能力,记录一下自己的想法。
53 0
|
编译器 C++
爱上c++的第八天(提高课程):模板
好了,结束了我们c++核心课程,进入到c++的提高课程,模板和STL部分,为什么先讲模板呢?因为我先学的模板,老师先教的模板,哈哈哈哈,废话文学功底见长,其实这本身就是有一个顺序的,哈哈哈。不皮了,我们开始下面的学习。
78 0
爱上c++的第八天(提高课程):模板
|
存储 算法
每日一题冲刺大厂第八天 二叉树深度
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题这个月进度是数据结构,让大家练到各种各样的数据结构题目,熟悉数据结构的增删改查,一年以后,蜕变成为一个不一样的自己!
87 0
|
负载均衡
第七天学习笔记
参加训练营的感想与收获
|
存储 安全 搜索推荐
第六天学习笔记
案例分享——钉钉
|
Java C++ 算法
2018-05-14 第八天
一、分支选择 java 的流程控制语句 控制代码执行的一个路径、方向。   三类1.顺序执行从上到下依次执行代码。   2.分支选择根据条件 来 选择执行某些代码跳过某些代码。 3.循环某些代码反复的被执行。
1111 0