error en el siguiente código, por favor resuelva cualquiera

programación


C#
Line 29:         con.Open();
Line 30:         cmd = new SqlCommand("insert into login values('"+TextBox1.Text+"','"+TextBox3.Text+"'", con);
Line 31:         cmd.ExecuteNonQuery();
Line 32:     }
Line 33: 
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Web.Security;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Drawing;


public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
    SqlConnection con = new SqlConnection("Data Source=CIODEV03\\SQLEXPRESS;Initial Catalog=EmployeeDB;Integrated Security=True");
    SqlCommand cmd;
    SqlDataReader dr;

    protected void Button1_Click(object sender, EventArgs e)
    {
        con.Open();
        cmd = new SqlCommand("insert into login values('"+TextBox1.Text+"','"+TextBox3.Text+"'", con);
        cmd.ExecuteNonQuery();
    }

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        con.Open();
        cmd = new SqlCommand("select * from login where UserName='" + TextBox1.Text + "'", con);
        dr = cmd.ExecuteReader();
        if (dr.Read())
        {
            Label1.Text = "UserName alredy Exist";
            this.Label1.ForeColor = Color.Red;
        }
        else
        {
            Label1.Text = "UserName is Avilable";
        }
    }
}

Solución 1

Asegúrese de que los nombres de sus campos coincidan con el tipo de valor de cadena que está pasando para la inserción aquí: new SqlCommand("insert into login values('"+TextBox1.Text+"','"+TextBox3.Text+"'", con);.

Solución 2

C#
cmd = new SqlCommand("insert into login values('"+TextBox1.Text+"','"+TextBox3.Text+"'", con);

Al menos no hay ‘)’. Pruebe algo como esto:

C#
cmd = new SqlCommand("insert into login values(@val1, @val2)", con);
cmd.Parameters.AddWithValue("@val1", TextBox1.Text);
cmd.Parameters.AddWithValue("@val2", TextBox3.Text);

Solución 3

Hola,

Asegúrese de que los valores en su tabla de inicio de sesión sean iguales a los valores que debe ingresar al iniciar sesión.

Si tiene 2 columnas en su tabla de inicio de sesión, debe tener 2 parámetros para pasar mediante código subyacente.

Esto es correcto:
cmd = new SqlCommand(“insertar en valores de inicio de sesión(@val1, @val2)”, con);
cmd.Parameters.AddWithValue(“@val1”, TextBox1.Text);
cmd.Parameters.AddWithValue(“@val2”, TextBox3.Text);

Pero si desea identificar los campos de columna específicos:
cmd = new SqlCommand(“insertar en valores de inicio de sesión (nombre de usuario, contraseña, fechas)(@val1, @val2, @val3)”, con);
cmd.Parameters.AddWithValue(“@val1”, TextBox1.Text);
cmd.Parameters.AddWithValue(“@val2”, TextBox3.Text);
cmd.Parameters.AddWithValue(“@val3”, DateTime.Now());

Espero que este pueda ayudar.

Gracias

Solución 4

Especifique los nombres de los campos en la consulta Insertar

Para mí:

C#
INSERT INTO LOGIN (FieldName1, FieldName2) VALUES ('" + TextBox1.Text + "', '" + TextBox3.Text + "')

コメント

タイトルとURLをコピーしました