自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#向SQL Server中插入記錄時(shí)的問(wèn)題

開(kāi)發(fā) 后端
本文介紹了C#向Sql Server中插入記錄時(shí)單引號(hào)的兩種處理方式。

asp.net中使用c#, 向coredb.mybbs表中插入記錄值(title, content)【文章的標(biāo)題和內(nèi)容】,由于content, title中可能包含單引號(hào),直接使用sql的insert命令會(huì)報(bào)錯(cuò),對(duì)此有兩種處理方法,一種將單引號(hào)替換成兩個(gè)單引號(hào),第2種方法是使用存儲(chǔ)過(guò)程。

表mybbs的格式定義如下:

  1. create table [dbo].[mybbs] (   
  2. [id] [bigint] identity (1, 1) not null ,   
  3. [title] [char] (160) collate chinese_prc_ci_as null ,   
  4. [author] [char] (20) collate chinese_prc_ci_as null ,   
  5. [date_of_created] [datetime] null ,   
  6. [abstract] [char] (480) collate chinese_prc_ci_as null ,   
  7. [content] [ntext] collate chinese_prc_ci_as not null   
  8. ) on [primary] textimage_on [primary]   

1、C#向Sql Server中插入記錄時(shí)單引好問(wèn)題處理方法之一:將單引號(hào)用兩個(gè)單引號(hào)替換:

  1. sqlconnection coredb=new sqlconnection();   
  2. coredb.connectionstring= "workstation id=\"gqa-eric-lv\";packet size=4096;integrated security=sspi;" +   
  3. "data source=\"gqa-eric-lv\";persist security info=false;initial catalog=coredb";   
  4.  
  5. //單引號(hào)用""替換,以插入到sql server中;   
  6. string title=textbox1.text.replace("","");   
  7. string content=textbox2.text.replace("","");   
  8. if(title.trim()==""||content.trim()=="")return;   
  9. string insertcmd =@"insert into mybbs (title,content) values("+ title + "," +content+")";   
  10.  
  11. sqlcommand mycommand = new sqlcommand(insertcmd,coredb);   
  12. coredb.open();   
  13. sqldatareader myreader = mycommand.executereader();   
  14. myreader.close();   
  15. coredb.close();   
  16.  

2、C#向Sql Server中插入記錄時(shí)單引好問(wèn)題處理方法之二:使用存儲(chǔ)過(guò)程來(lái)插入

1) 創(chuàng)建存儲(chǔ)過(guò)程:

  1. create proc insertmybbsproc(@title char(160), @author char(20), @content ntext)   
  2. as   
  3. insert into mybbs(title,author,content) values(@title, @author, @content)  

2) 查詢分析器中測(cè)試存儲(chǔ)過(guò)程:

  1. declare @title char(160)   
  2. declare @author char(20)   
  3. declare @content char(600)   
  4. set @title=test title 3   
  5. set @author=david euler 3   
  6. set @content=it is the content 3   
  7. exec insertmybbsproc @title, @author, @content   

3) c#中通過(guò)sqlcommand執(zhí)行存儲(chǔ)過(guò)程:

  1. sqlconnection coredb=new sqlconnection();   
  2. coredb.connectionstring= "workstation id=\"gqa-eric-lv\";packet size=4096;integrated security=sspi;" +   
  3. "data source=\"gqa-eric-lv\";persist security info=false;initial catalog=coredb";   
  4.  
  5. string title=textbox1.text;   
  6. string content=textbox2.text;   
  7.  
  8. if(title.trim()==""||content.trim()=="")return;   
  9.  
  10. //insertmybbsproc是向mybbs中插入數(shù)據(jù)的procedure:   
  11. sqlcommand insertcmd = new sqlcommand("insertmybbsproc",coredb);   
  12.  
  13. insertcmd.commandtype=commandtype.storedprocedure;//命令類(lèi)型為存儲(chǔ)過(guò)程;下面定義參數(shù)對(duì)象:   
  14. sqlparameter prm1=new sqlparameter("@title", sqldbtype.char,160);   
  15. sqlparameter prm2=new sqlparameter("@author", sqldbtype.char,20);   
  16. sqlparameter prm3=new sqlparameter("@content",sqldbtype.ntext,1073741823);   
  17. prm1.direction=parameterdirection.input;   
  18. prm2.direction=parameterdirection.input;   
  19. prm3.direction=parameterdirection.input;   
  20. //為insertcmd添加sql參數(shù):   
  21. insertcmd.parameters.add(prm1);   
  22. insertcmd.parameters.add(prm2);   
  23. insertcmd.parameters.add(prm3);   
  24. //為sql參數(shù)賦值:   
  25. prm1.value=title;   
  26. prm2.value="david euler";   
  27. prm3.value=content;   
  28.  
  29. coredb.open();   
  30. int recordsaffected=insertcmd.executenonquery();   
  31. if(recordsaffected==1)response.write("< script>alert(""插入成功" +");< /script>");   
  32. coredb.close();   

以上就是C#向SQL Server中插入記錄時(shí)的單引號(hào)問(wèn)題的處理方法。

【編輯推薦】

  1. C# Thread類(lèi)的應(yīng) 用
  2. C#線程:BeginInvoke和EndInvoke方法
  3. 學(xué)習(xí)C#:Attribute與Property
  4. C#編碼標(biāo)準(zhǔn)66條
  5. C#委托事件及自定義事件的處理 

責(zé)任編輯:book05 來(lái)源: cnblogs
相關(guān)推薦

2009-08-12 16:39:50

C#向Excel插入數(shù)

2009-08-24 15:41:50

C#連接SQL Ser

2009-08-06 18:15:13

C# SQL Serv

2010-09-13 10:43:22

SQL Server

2011-07-18 10:45:55

C#SQL Server數(shù)

2009-02-05 15:32:23

接口委托類(lèi)

2010-07-22 10:45:45

SQL Server數(shù)

2009-08-17 18:30:29

C# SQL Serv

2010-11-11 10:53:22

SQL Server遍

2024-04-10 12:56:00

C#批量插入開(kāi)發(fā)

2009-08-24 16:11:35

C#項(xiàng)目開(kāi)發(fā)

2009-09-04 17:29:01

C#創(chuàng)建SQL Ser

2009-08-03 14:17:18

C#連接AccessC#連接SQL Ser

2011-04-01 14:14:42

SQL Server空值

2009-09-04 17:44:35

2023-01-03 11:22:23

C#代碼SQL Server

2009-08-12 13:11:24

C#實(shí)現(xiàn)遠(yuǎn)程線程插入

2011-06-09 09:08:00

C#循環(huán)結(jié)構(gòu)

2011-04-06 16:25:47

SQL Server

2009-05-26 10:21:07

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)