erreur dans ce code ci-dessous, veuillez résoudre n’importe qui

la programmation


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";
        }
    }
}

Solution 1

Assurez-vous que les noms de vos champs correspondent au type de valeur de chaîne que vous transmettez pour l’insertion ici – new SqlCommand("insert into login values('"+TextBox1.Text+"','"+TextBox3.Text+"'", con);.

Solution 2

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

Au moins, il n’y a pas de ‘)’. Essayez quelque chose comme ceci :

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

Solution 3

Salut,

Assurez-vous que les valeurs de votre tableau de connexion sont égales aux valeurs à saisir lors de la connexion.

Si vous avez 2 colonnes dans votre table de connexion, vous devez avoir 2 paramètres à coller via codebehind.

C’est correct:
cmd = new SqlCommand(“insérer dans les valeurs de connexion (@val1, @val2)”, con);
cmd.Parameters.AddWithValue(“@val1”, TextBox1.Text);
cmd.Parameters.AddWithValue(“@val2”, TextBox3.Text);

Mais si vous souhaitez identifier les champs de colonnes spécifiques :
cmd = new SqlCommand(“insérer dans les valeurs de connexion (nom d’utilisateur, mot de passe, dates) (@val1, @val2, @val3)”, con);
cmd.Parameters.AddWithValue(“@val1”, TextBox1.Text);
cmd.Parameters.AddWithValue(“@val2”, TextBox3.Text);
cmd.Parameters.AddWithValue(“@val3”, DateTime.Now());

J’espère que celui-ci pourra vous aider.

Merci

Solution 4

Spécifiez les noms de champs dans la requête d’insertion

Pour moi:

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

コメント

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