如果用户名不存在"INSERT into;其他“UPDATE"(显示信息)

本文关键字:quot UPDATE 信息 显示 INSERT 用户 不存在 如果 into 其他 | 更新日期: 2023-09-27 18:03:49

这是我的表:

<table>
    <tr><td><b>Utilizador:</b></td><td><asp:Label ID="username" runat="server"></asp:Label></td></tr> 
    <tr><td><b>Telefone da Empresa:</b></td><td><asp:TextBox ID="empresa" runat="server" MaxLength="13"></asp:TextBox> (Exemplo: +351234925xxx)</td></tr>
    <tr><td><b>2º Telefone:</b></td><td><asp:TextBox ID="empresa2" runat="server" MaxLength="4"></asp:TextBox> (Exemplo: xxxx)</td></tr>
    <tr><td><b>Telemóvel:</b></td><td><asp:TextBox ID="telemovel" runat="server" MaxLength="13"></asp:TextBox> (Exemplo: +3519xxxxxxxx)</td></tr>
    <tr><td colspan="2"><asp:Label ID="lblInfo" runat="server" Font-Bold="True"></asp:Label></td></tr>
    <tr><td><asp:Button ID="cmdSave" runat="server" Text="Guardar" onclick="cmdSave_Click" /></td><td></td></tr>
</table>

我想验证如果用户名存在于数据库显示我的答案更新ELSE插入到

这是我的代码到目前为止。这是插入

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        username.Text = "[" + HttpContext.Current.User.Identity.Name + "]"; 
    }
    protected void cmdSave_Click(object sender, EventArgs e)
    {
        string sFilePath = Server.MapPath("Database3.accdb");
        OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sFilePath + ";Persist Security Info=False;");
        string insertCmd = "INSERT INTO colaborador(Empresa,Empresa2,Telemovel,username) VALUES (@Empresa,@Empresa2,@Telemovel,@username)";
        using (Conn)
        {
            Conn.Open();
            OleDbCommand myCommand = new OleDbCommand(insertCmd, Conn);
            myCommand.Parameters.AddWithValue("@Empresa", empresa.Text);
            myCommand.Parameters.AddWithValue("@Empresa2", empresa2.Text);
            myCommand.Parameters.AddWithValue("@Telemovel", telemovel.Text);
            myCommand.Parameters.AddWithValue("@username", HttpContext.Current.User.Identity.Name);            
            Response.Write(" ");
            myCommand.ExecuteNonQuery(); 
            lblInfo.Text = "Dados guardados!";
            lblInfo.ForeColor = System.Drawing.Color.Green;
        }
    }
}

我的目的是回答我的表显示回答的问题[或显示一条消息说"用户已经回答"]如果不存在于我的数据库,那么显示表字段。我简直要疯了

如果用户名不存在"INSERT into;其他“UPDATE"(显示信息)

可以这样实现,

SqlCommand objcmd = new SqlCommand("SELECT 1 from Table WHERE Username=@NAME" , objsqlconn);//get rows if username exists
cmd.Parameters.Add("@NAME", SqlDbType.NVarChar,20).Value = Master_product_txt.Text;   
objsqlconn.Open();
readr = SelectCommand.ExecuteReader();
if (!readr.HasRows) 
{
`// write Code to insert values
}`
else
{
    //write code to retrieve values and update          
}

编辑@ A

指出的代码