这是我的表:如果用户名不存在 “INSERT INTO” 其他 “UPDATE”(显示信息)
<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>
我想验证IF用户名存在于数据库告诉我答案更新ELSE插入到
这是我迄今为止的代码。它以INSERT INTO
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;
}
}
}
我的目的是回答我的桌子前显示的回答问题[或显示信息:“用户已经回答”如果在我的数据库不存在,则显示该表到现场。 它的驾驶我疯狂不能这样的事情
你的问题指出了@阿十分混乱...如果要在插入或更新记录之前检查记录是否存在,此操作称为“upsert”,但MSAccess没有这种方法,因此您需要首先查询数据库中的数据,并且如果您没有收到任何记录,请执行插入操作。它不清楚,但你要检查什么... –
@RonBeyer我怎样才能查询数据库的数据第一? 抱歉我的英文不好。现在我只能将text.box保存到我的.accdb文件中。但我想打开页面,并用'username.Text =“[”+ HttpContext.Current.User.Identity.Name +“]”; '验证用户名是否存在于数据库中。 **如果是**显示数据库**如果不显示**显示表格以显示text.box – KikoFHM
C#和asp-classic是完全矛盾的词汇。 – Martha