第八天

简介:
学习目的
     学会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,如需转载请自行联系原作者


目录
相关文章
|
4月前
|
NoSQL 安全 Redis
Bugku S3 AWD排位赛-3(带你入门awd流程)
Bugku S3 AWD排位赛-3(带你入门awd流程)
257 1
|
12月前
|
程序员 Go 网络安全
随笔第二周
且视他人之疑目如盏盏鬼火, 大胆去走你的夜路。 ——史铁生《病隙碎笔》
71 0
|
存储 算法
每日一题冲刺大厂第八天 二叉树深度
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题这个月进度是数据结构,让大家练到各种各样的数据结构题目,熟悉数据结构的增删改查,一年以后,蜕变成为一个不一样的自己!
87 0
蓝桥杯真题31日冲刺国一 | 每日题解报告 第八天
大家好,我是泡泡,今天继续给大家带来题解
110 0
|
iOS开发 C++
1072 开学寄语(20 分)
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。
93 0
1072 开学寄语(20 分)
|
负载均衡
第七天学习笔记
参加训练营的感想与收获
|
存储 安全 搜索推荐
第六天学习笔记
案例分享——钉钉
|
Java C++ 算法
2018-05-14 第八天
一、分支选择 java 的流程控制语句 控制代码执行的一个路径、方向。   三类1.顺序执行从上到下依次执行代码。   2.分支选择根据条件 来 选择执行某些代码跳过某些代码。 3.循环某些代码反复的被执行。
1110 0
2018-05-15 第九天
一、循环 loop 三for 循环接上篇 语法for(循环条件初始化 1 ; 循环条件 2 ; 迭代 3 ){ //循环体  4 }   解释for 的小括号中由2个分号切分成了3部分。
987 0