0

SQL Server に次のテーブルがあります。

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)  
)

Ciudadanoというストアド プロシージャを使用して、Visual Studio c# からテーブルにデータを追加しようとしていますsp_ConsultarCuenta

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#コードには次のものがあります:

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 フォームで、そのメソッドはフォーム上のボタンによって呼び出されます。しかし、実行してボタンを押してもエラーは発生しませんが、データベース テーブルに挿入しようとしているデータはまったく挿入されません。私のコードに何か問題がありますか?

4

1 に答える 1

2

cこれを行うと、簡単な方法で挿入コマンドを実行できます

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();
 }
于 2013-06-30T23:38:59.593 に答える