c# 中能不能访问sql中的存储过程!

gordenfl 2002-07-10 08:04:58
如何调用sql中存储过程!
谢谢大家!(有源代码最好!)
...全文
43 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigrongshu 2002-07-11
  • 打赏
  • 举报
回复
参见
http://www.csdn.net/expert/topic/865/865738.xml?temp=.6660425
老大刘 2002-07-11
  • 打赏
  • 举报
回复
微软提供了一个优化的Data Access Application Block,你可以直接使用它来进行一些常规的数据库访问操作。

msdn帮助链接:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp

下载链接:http://download.microsoft.com/download/visualstudionet/daabref/rtm/nt5/en-us/DataAccessApplicationBlock.msi

mmkk 2002-07-10
  • 打赏
  • 举报
回复
public static UserProfile Login(string userName)
{
//GetSqlConnection()主要是获得数据库连接字符串
using (SqlConnection conn = MessageBoardDb.GetSqlConnection())
{
/*
public static SqlCommand GetSqlCommand(string storedProcedure, SqlConnection conn)
{
SqlCommand cmd = new SqlCommand(storedProcedure, conn);
//使用存储过程
cmd.CommandType = CommandType.StoredProcedure;
//连接超时时间,已设定为90秒
cmd.CommandTimeout = MessageBoardDb.CommandTimeout;

return cmd;
}
*/
SqlCommand cmd = MessageBoardDb.GetSqlCommand("[SelectPUser]", conn);
//SelectPUser存储过程需要一个参数
cmd.Parameters.Add("@Username", userName);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
//如果没有找到此登陆用户,抛出一个新的异常
if (dt.Rows.Count == 0)
{
throw new Exception("Username not found!");
}

DataRow dr = dt.Rows[0];

long userId = (long)dr["UserId"];

UserProfile userProfile = UserProfileFactory.Create(userId.ToString());
return userProfile;
}
}

111,112

社区成员

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

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

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