C#里调用 SQL 插入语句的问题

tossgoon 2011-04-04 11:30:05
我现在连接的是SQL server数据库,在数据库的表里面插入值时,我只会利用string.format来执行:


sqlCommand cmd=thisConncection.CreatCommand();//thisConnection为连接 sqlconnection对象
cmd.CommandText=string.Format("insert table1 values({0},{1})",textbox1.text,textbox2.text);
cmd.ExecuteNonQuery();

今天 才知道有一个东西叫做 存储过程 及 SQL里面的变量@......
这....
一般高手都用哪种方法写代码啊?效率哪个高? 存储过程和变量如何来学习,我只是知道,一点也不懂啊,谢谢啦
...全文
162 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tossgoon 2011-04-05
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 jy02305022 的回复:]
如果LZ需要我有一份正在完善的数据库操作类.可以留下邮箱我给你发过去
你可以学习一下,虽然还不是很完善,但是正常使用已经可以了
可以操作sqlserver,mysql,access,oracle等数据库
[/Quote]
2605wjm@163.com
给我发一份吧,谢谢你了.
zilong4460072 2011-04-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qianweilin 的回复:]

存储过程操作批量数据会比较占优势吧 但是如果是多人操作会很麻烦 数据库压力应该会比较大 存储过程还可以适当实行一些回滚之类的 安全性比较高 但一般的确很少使用 不过存储过程以及视图等等 也是数据库操作的基本要求
[/Quote]
所以不是很复杂的增删改查的操作是不会用存储过程的
需要对大数据量的数据进行处理要用存储过程 这是我的项目经理告诉我的 呵呵
qianweilin 2011-04-04
  • 打赏
  • 举报
回复
存储过程操作批量数据会比较占优势吧 但是如果是多人操作会很麻烦 数据库压力应该会比较大 存储过程还可以适当实行一些回滚之类的 安全性比较高 但一般的确很少使用 不过存储过程以及视图等等 也是数据库操作的基本要求
sfxdawn 2011-04-04
  • 打赏
  • 举报
回复
一言以蔽之,這種項目還真少。。。嘿嘿~
[Quote=引用 5 楼 zilong4460072 的回复:]
引用 4 楼 sfxdawn 的回复:

樓上的兄弟,我寫了"一般"嘛,又沒說得很絕對。還有就是,你沒用過,是你公司的開發規則所限制,這無可厚非,但你說:增刪改查就不用SP了,難道對數據的常見方式不就是CURD嗎?你這不是誤人子弟嗎。。。
引用 3 楼 zilong4460072 的回复:
引用 2 楼 sfxdawn 的回复:

一般的公司都是用存儲過程來操作數據庫的資料的,效率高,……
[/Quote]
zilong4460072 2011-04-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sfxdawn 的回复:]

樓上的兄弟,我寫了"一般"嘛,又沒說得很絕對。還有就是,你沒用過,是你公司的開發規則所限制,這無可厚非,但你說:增刪改查就不用SP了,難道對數據的常見方式不就是CURD嗎?你這不是誤人子弟嗎。。。
引用 3 楼 zilong4460072 的回复:
引用 2 楼 sfxdawn 的回复:

一般的公司都是用存儲過程來操作數據庫的資料的,效率高,安全性高,易維護。要用存儲過程,用SqlPa……
[/Quote]
我说的增删改查指的是很简单的那种 呵呵
sfxdawn 2011-04-04
  • 打赏
  • 举报
回复
樓上的兄弟,我寫了"一般"嘛,又沒說得很絕對。還有就是,你沒用過,是你公司的開發規則所限制,這無可厚非,但你說:增刪改查就不用SP了,難道對數據的常見方式不就是CURD嗎?你這不是誤人子弟嗎。。。
[Quote=引用 3 楼 zilong4460072 的回复:]
引用 2 楼 sfxdawn 的回复:

一般的公司都是用存儲過程來操作數據庫的資料的,效率高,安全性高,易維護。要用存儲過程,用SqlParameters.Add("@變量名稱",字段類型);
SqlCommand.CommandType = ****.StoredProcedure;
當然還可以設置參數的value以及輸出類型(SqlParameters.Direction屬性)。建議……
[/Quote]
zilong4460072 2011-04-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sfxdawn 的回复:]

一般的公司都是用存儲過程來操作數據庫的資料的,效率高,安全性高,易維護。要用存儲過程,用SqlParameters.Add("@變量名稱",字段類型);
SqlCommand.CommandType = ****.StoredProcedure;
當然還可以設置參數的value以及輸出類型(SqlParameters.Direction屬性)。建議lz多學習一下基礎,存儲過程用處大著呢。。。……
[/Quote]
我那个公司怎么没用到存储过程来操作数据库呀
sfxdawn 2011-04-04
  • 打赏
  • 举报
回复
一般的公司都是用存儲過程來操作數據庫的資料的,效率高,安全性高,易維護。要用存儲過程,用SqlParameters.Add("@變量名稱",字段類型);
SqlCommand.CommandType = ****.StoredProcedure;
當然還可以設置參數的value以及輸出類型(SqlParameters.Direction屬性)。建議lz多學習一下基礎,存儲過程用處大著呢。。。
zilong4460072 2011-04-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 tossgoon 的回复:]
我现在连接的是SQL server数据库,在数据库的表里面插入值时,我只会利用string.format来执行:


sqlCommand cmd=thisConncection.CreatCommand();//thisConnection为连接 sqlconnection对象
cmd.CommandText=string.Format("insert table1 values({0}……
[/Quote]
我工作快两年了还没用到存储过程
一般都不用存储过程,如果从数据库取大容量的数据 并且要对这些数据进行处理的话 要用到存储过程
增删改查 我看就算了吧
「已注销」 2011-04-04
  • 打赏
  • 举报
回复
如果LZ需要我有一份正在完善的数据库操作类.可以留下邮箱我给你发过去
你可以学习一下,虽然还不是很完善,但是正常使用已经可以了
可以操作sqlserver,mysql,access,oracle等数据库
「已注销」 2011-04-04
  • 打赏
  • 举报
回复
不用存储过程代码极有可能被注入..如果不怕的话就没必要用存储过程了
blue2u 2011-04-04
  • 打赏
  • 举报
回复
单表操作,直接SQL或LINQ / LAMDA表达式就可以了,没必要用存储过程。
blue2u 2011-04-04
  • 打赏
  • 举报
回复
如还有问题,可以发信息给我。
blue2u 2011-04-04
  • 打赏
  • 举报
回复
我的理解,
首先,存储过程大多都位于数据库服务器上,每个都以一个单独的文件存储于“可编程性|存储过程”下;他独立于前台的代码,如果数据操纵出错,检测到时存储过程的问题,那么,修改存储过程就是了,不用拆包,改代码。
其次,存储过程主要用 来处理一些复杂的业务,如同时更新主从表。这时要要求,要么都更新,要么都不更新,所以,要放到同一事务中处理。这时存储过程就可以很出色的轻易完成任务。
存储过程的优点很多,查查就是了,当然,都有两面性。
用于不用要看各个公司开发组的开发习惯,要是数据库好点的,会注重存储过程,要是差点的,只能考虑代码完成,我个人也是比较喜欢用存储过程的。
这个慢慢学就是了。
tossgoon 2011-04-04
  • 打赏
  • 举报
回复
谢谢大家了.

110,556

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧