调用存储过程出错!大哥大姐们来看看

xuming120 2009-05-25 11:08:08
DBUtility

public int ExecuteNonQuery(string query, params SqlParameter[] parameters)
{
cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand(query, cnn);
if (query.StartsWith("INSERT") | query.StartsWith("insert") | query.StartsWith("UPDATE") | query.StartsWith("update") | query.StartsWith("DELETE") | query.StartsWith("delete"))
{
cmd.CommandType = CommandType.Text;
}
else
{
cmd.CommandType = CommandType.StoredProcedure;
}
for (int[code=SQL]
i = 0; i <= parameters.Length - 1; i++)
{
cmd.Parameters.Add(parameters[i]);
}
cnn.Open();
int retval = cmd.ExecuteNonQuery();
cnn.Close();
return retval;
}
[/code]

存储过程

ALTER PROCEDURE dbo.insertUsers
@uname varchar(50),
@upwd varchar(50)
AS

insert into users(uname,upwd) values(@uname,@upwd)


调用

public int insertUsers(string uname,string upwd) {
DBconn con = new DBconn();
SqlParameter[] objParams = new SqlParameter[2];
objParams[0] = new SqlParameter("@uname",uname);
objParams[1] = new SqlParameter("@upwd", upwd);
int i = con.ExecuteNonQuery("insertUsers",objParams);
return i;
}

报错信息: 'insertUsers' 附近有语法错误。
大侠们帮忙看看.刚学调用存储过程.
...全文
149 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mqc507 2009-05-25
  • 打赏
  • 举报
回复
修改下你的DBUtility

public static int ExecuteNonQuery(string cmdText, params SqlParameter[] cmdParams)
{
cmdText = cmdText.Trim();

if (cmdText.IndexOf(' ') > 0)
return ExecuteNonQuery(CommandType.Text, cmdText, cmdParams);
else
return ExecuteNonQuery(CommandType.StoredProcedure, cmdText, cmdParams);

}
mqc507 2009-05-25
  • 打赏
  • 举报
回复
因为你的存储过程名字insertUsers就是以insert开头的·
mqc507 2009-05-25
  • 打赏
  • 举报
回复
query.StartsWith("insert")
导致执行的是CommandType.Text而不是procedure
xuming120 2009-05-25
  • 打赏
  • 举报
回复
顶上去。。
qpzmxncb 2009-05-25
  • 打赏
  • 举报
回复

我认为是没有执行cmd.CommandType = CommandType.StoredProcedure
你设置个断点看看吧
xuming120 2009-05-25
  • 打赏
  • 举报
回复
我那么些 为什么会报错? 帮忙看看哪有问题?
gaozhigang 2009-05-25
  • 打赏
  • 举报
回复

using (SqlConnection conn = new SqlConnection(Utility.GetAppSetting("DBManageConnectString")))
{
conn.Open();
SqlCommand cmd = new SqlCommand("DelIPAddress", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter para_IPID = new SqlParameter("@IPID", Convert.ToInt32(IPID));
SqlParameter para_Flag = new SqlParameter("@flag", SqlDbType.Int);
para_Flag.Direction = ParameterDirection.Output;
cmd.Parameters.Add(para_IPID);
cmd.Parameters.Add(para_Flag);
cmd.ExecuteNonQuery();
if (para_Flag.Value == (object)0)
{
ret = false;
}
}
freemeditator 2009-05-25
  • 打赏
  • 举报
回复
public static int ExecuteCommand(string sql, params SqlParameter[] values) 
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
wuyq11 2009-05-25
  • 打赏
  • 举报
回复
public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
flyerwing 2009-05-25
  • 打赏
  • 举报
回复
没什么看地。
代码下载链接: https://pan.quark.cn/s/cf0000dae7ac 在.NET Framework平台中,`TreeView`组件是一种普遍应用的数据展示工具,主要功能是呈现层级化数据,例如文件系统布局、组织架构图等。本文将深入阐述在C#环境下如何运用递归方法为`TreeView`组件配置子节点,尤其是在管理文件夹层次结构的应用场景中。递归是一种高效的编程策略,其特点在于函数能够自我调用以完成特定任务,这种技术特别适用于处理具有层级关联的数据集合。为了有效运用`TreeView`组件,我们首先需要明确其核心构成单元:`TreeNode`。`TreeNode`是`TreeView`中的一个基本单元,它可以承载子节点,从而构建出树状结构。为了在`TreeView`中准确反映文件夹结构,每一个`TreeNode`通常映射为一个文件夹,而其下属的子节点则对应该文件夹内的子文件夹或文件。现在我们聚焦于核心内容,探讨如何通过递归方式实现子节点的添加。1. **构建基础框架** 我们需要设计一个类来描述文件或文件夹,该类应包含名称、路径等基本属性。例如: ```csharp public class FileSystemItem { public string Name { get; set; } public string Path { get; set; } // 其他属性如IsDirectory等 } ```2. **采集文件系统数据** 借助`System.IO`命名空间中的`DirectoryInfo`和`FileInfo`类,对目标目录进行遍历,以获取所有文件和子文件夹的信息。这里可以利用`GetDirectories()`和`GetFiles...
内容概要:本文系统阐述了Java微服务架构与TypeScript全栈工程化的实战方法,涵盖从单体应用拆分到分布式系统治理的完整技术链条。在Java微服务部分,基于Spring Boot与Spring Cloud生态,深入讲解领域驱动设计(DDD)、服务注册与发现(如Nacos、Eureka)、配置中心、API网关(Spring Cloud Gateway)、声明式调用(Feign)、负载均衡、服务熔断降级(Resilience4j/Hystrix)、消息队列异步解耦(Kafka/RabbitMQ)以及分布式事务(如Seata)等核心技术。数据层强调数据库自治原则,并结合Redis提升性能。前端部分聚焦TypeScript类型系统,通过静态类型检查增强代码可靠性,支持泛型、联合类型、映射类型等高级特性,实现前后端接口模型统一。全栈协作采用React/Vue/Angular框架,结合Axios通信与Swagger接口文档标准化。工程化层面引入Docker、Kubernetes实现容器化部署,配合Jenkins或GitHub Actions完成CI/CD自动化流程,并通过ELK实现日志追踪。典型应用场景包括电商、订单管理等系统,实现高内聚、低耦合、可扩展的分布式架构。; 适合人群:具备一定Java与前端基础,从事中高级后端开发、全栈开发或系统架构工作的技术人员,尤其适合1-5年经验并希望掌握微服务与全栈工程化实践的研发人员。; 使用场景及目标:①掌握微服务拆分与Spring Cloud微服务体系建设;②理解服务治理、异步通信、分布式事务等关键问题的解决方案;③构建类型安全的全栈项目,提升前后端协作效率与系统稳定性;④实现微服务的容器化部署与持续交付。; 阅读建议:建议结合实际项目边学边练,重点关注架构设计思想与技术选型背后的权衡,同时动手搭建完整微服务链路与前端类型系统,深入理解各组件集成方式与最佳实践。

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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