首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Insert命令在C#和SQL Server之间的连接上不起作用

Insert命令在C#和SQL Server之间的连接上不起作用
EN

Stack Overflow用户
提问于 2013-07-01 07:26:23
回答 1查看 881关注 0票数 0

我在SQL Server中有这个表:

代码语言:javascript
运行
复制
CREATE TABLE Ciudadano (  
ci int not null,  
Nombre varchar(50),  
Apellido varchar(50),  
Correo varchar(50),  
Usuario varchar(50), 
 Contrasena varchar(50),  
Localidad_cod int,  
Primary key (ci)  
)

我正在尝试使用一个名为sp_ConsultarCuenta的存储过程从Visual Studio c#向表Ciudadano添加数据

代码语言:javascript
运行
复制
CREATE PROCEDURE sp_ConsultarCuenta
   @ci int, @nom varchar(50), @ape varchar(50), @user varchar(50), 
   @pass varchar(50), @correo varchar(50), @loc varchar(50)
AS
   IF NOT EXISTS(SELECT ci,Usuario FROM Ciudadano 
                 WHERE ci = @ci OR Usuario = @user)
      DECLARE @var varchar(50)
      SET @var = (SELECT cod From Localidad Where Nombre = @loc)

      INSERT INTO Ciudadano (ci, Nombre, Apellido, Correo, Usuario, Contrasena, Localidad_cod)
      VALUES (@ci, @nom, @ape, @user, @pass, @correo, @var)

在我的c#代码中,我有如下代码:

代码语言:javascript
运行
复制
public void AgregarCiudadano()
{
   string con = @"Data Source=(local);Initial Catalog=SistemaDeQuejas;Trusted_Connection=True";
   SqlConnection conexion = new SqlConnection(con);

   conexion.Open();
   SqlDataAdapter Comando = new SqlDataAdapter();

   Comando.InsertCommand = conexion.CreateCommand();
   Comando.InsertCommand.CommandText = "sp_ConsultarCuenta";
   Comando.InsertCommand.CommandType = CommandType.StoredProcedure;
   Comando.InsertCommand.Connection = conexion;

   Comando.InsertCommand.Parameters.Add("@ci", SqlDbType.Int).Value = System.Convert.ToInt32(ci);
   Comando.InsertCommand.Parameters.Add("@nom", SqlDbType.VarChar, 50).Value = Nombre;
   Comando.InsertCommand.Parameters.Add("@ape", SqlDbType.VarChar, 50).Value = Apellido;
   Comando.InsertCommand.Parameters.Add("@user", SqlDbType.VarChar, 50).Value = Usuario;
   Comando.InsertCommand.Parameters.Add("@pass", SqlDbType.VarChar, 50).Value = Contrasena;
   Comando.InsertCommand.Parameters.Add("@correo", SqlDbType.VarChar, 50).Value = Correo;
   Comando.InsertCommand.Parameters.Add("@loc", SqlDbType.VarChar, 50).Value = Localidad;

   conexion.Close();  
}

我正在做的是一个Web表单,该方法由表单上的一个按钮调用。但是当我运行它并按下按钮时,它没有抛出任何错误,但是我试图插入到数据库表中的数据根本没有插入。我的代码有什么问题吗?

EN

Stack Overflow用户

回答已采纳

发布于 2013-07-01 07:39:00

cYou可以这样做,以简单的方式运行insert命令

代码语言:javascript
运行
复制
using(var connection = new SqlConnection(connectionString))
{
   connection.Open();

   using (var command = new SqlCommand("sp_ConsultarCuenta", connection))
   {
        command.Parameters.AddWithValue("@Nombre", params.Nombre);

        command.CommandType = CommandType.StoredProcedure;

        command.ExecuteNonQuery();
   }

   connection.Close();
 }
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17395769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档