내 등록은 완벽하게 잘 작동하는 데 사용하지만 ... 난 이후에 여러 수정을 할, 그래서 나는이 문제가 발생했습니다 무엇인지 찾을 수등록은 MS Access 데이터베이스에 삽입 여러 번
세부 사항을 입력하고 등록을 클릭하면 페이지가 asp.net 로컬 서버를 사용하여 처리하는 데 오랜 시간이 걸립니다. 그런 다음 마침내 제가 등록했지만 데이터베이스에 10-30 개의 항목을 입력했다고 말합니다 (일부는 동일하지 않고 다른 필드가 누락 된 등등)
데이터베이스에서 작성된 모든 항목을 지우고 그것을 열고 그것을 10-30 더 추가했습니다 ... 내가 "디버깅하지 않고 시작"asp.net 개발 서버를 죽일 때까지이 작업을 계속합니다.
여기 페이지의 C#을 파일입니다
using System;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Net.Mail;
public partial class Register : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
//Display welcome message
lblMessage.Text = "Welcome " + txtFirstName.Text + "!";
//Save the registration data into database, 17/8/2014
SaveRegistration();
sendEmail();
}
}
private void SaveRegistration()
{
OleDbConnectionStringBuilder sb = new OleDbConnectionStringBuilder();
sb.Provider = "Microsoft.ACE.OLEDB.12.0";
//sb.DataSource = Server.MapPath("/carpec02/asp_assignment/App_Data/shoeDB.accdb");
sb.DataSource = Server.MapPath("~/App_Data/shoeDB.accdb");
OleDbConnection myConnection = new OleDbConnection(sb.ConnectionString);
string queryString = "";
OleDbCommand myCmd = new OleDbCommand(queryString, myConnection);
//Open connection
myConnection.Open();
//Build the query string
StringBuilder queryStringBuilder = new StringBuilder("Insert into customer([customerFirstName], [customerLastName], [customerPassword], [customerPhHome], [customerPhWork], [customerPhMobile], [customerEmail], [customerPrivilege], [customerUsername])");
queryStringBuilder.Append("values ('");
queryStringBuilder.Append(txtFirstName.Text);
queryStringBuilder.Append("','");
queryStringBuilder.Append(txtLastName.Text);
queryStringBuilder.Append("','");
queryStringBuilder.Append(txtPassword.Text);
queryStringBuilder.Append("','");
queryStringBuilder.Append(txtPhHome.Text);
queryStringBuilder.Append("','");
queryStringBuilder.Append(txtPhWork.Text);
queryStringBuilder.Append("','");
queryStringBuilder.Append(txtPhMobile.Text);
queryStringBuilder.Append("','");
queryStringBuilder.Append(txtEmail.Text);
queryStringBuilder.Append("','");
queryStringBuilder.Append("User");
queryStringBuilder.Append("','");
queryStringBuilder.Append(txtUsername.Text);
queryStringBuilder.Append("')");
queryString = queryStringBuilder.ToString();
//Assign the QueryString to the command object
myCmd.CommandText = queryString;
//Execute the query
myCmd.ExecuteNonQuery();
//Create another command object to display the inserted record ID
OleDbCommand anotherCmd = new OleDbCommand("SELECT @@IDENTITY", myConnection);
int numId = Convert.ToInt32(anotherCmd.ExecuteScalar());
lblDataId.Text = "<h3>Your registration number is <big>" + numId.ToString() + "</big></h3>";
//Close the connection
myConnection.Close();
}
//Modified from http://www.aspsnippets.com/Articles/How-to-create-Contact-Us-Page-in-ASPNet.aspx
protected void sendEmail()
{
try
{
string strReceiver = txtEmail.Text;
MailMessage mm = new MailMessage("[email protected]", strReceiver); //Sender/receiver
mm.Subject = "Welcome to Awesome Shoes!";
mm.Body = "Thank you, " + txtFirstName.Text + " " + txtLastName.Text + ", for registering at Awesome Shoes. Your username is: " + txtUsername + " and your password is " + txtPassword;
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = "[email protected]";
NetworkCred.Password = "fake123";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
lblMessage2.Text = "Email Sent Sucessfully.";
}
catch
{
}
}
}
여기 페이지의 asp.net 코드 :
<%@ Page Title="" Language="C#" MasterPageFile="~/AwesomeShoes.master" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Register" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TabTitle" Runat="Server">
Register - Awesome Shoes
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Head" Runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="CurrentTabRegister" Runat="Server">
class="currentTab"
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainTitle" Runat="Server">
Register
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="MainBody" Runat="Server">
<script type="text/javascript">
function IsInteger(input) {
var regEx = /^\+{0,1}\d+\d*$/;
return regEx.test(input);
}
function btnRegister_OnClick()
{
var txtFirstName = document.getElementById('MainBody_txtFirstName');
if (txtFirstName.value.length == 0)
{
alert("You must enter all the required information before submitting");
return;
}
var txtEmail = document.getElementById('MainBody_txtEmail');
if (txtEmail.value.indexOf('@') == -1)
{
alert("You must enter an @ for your email address.");
return;
}
var txtPassword = document.getElementById('MainBody_txtPassword');
if (txtPassword.value.length < 6) {
alert("Your password must be at least 6 characters long");
return;
}
var txtRepeatPassword = document.getElementById('MainBody_txtRepeatPassword');
if (txtRepeatPassword.value != txtPassword.value) {
alert("Your password does not match");
return;
}
var txtPhHome = document.getElementById('MainBody_txtPhHome');
var txtPhWork = document.getElementById('MainBody_txtPhWork');
var txtPhMobile = document.getElementById('MainBody_txtPhMobile');
if ((!IsInteger(txtPhHome.value)) && (!IsInteger(txtPhWork.value)) && (!IsInteger(txtPhMobile.value)))
{
alert('You must enter at least one phone number.');
return;
}
if (IsInteger(txtPhHome.value))
{
if (txtPhHome.value < 1000000 || txtPhHome.value > 9999999) {
alert('The home phone number you entered is invalid. It must be between 100-0000 and 999-9999');
return;
}
}
if (IsInteger(txtPhWork.value)) {
if (txtPhWork.value < 1000000 || txtPhWork.value > 9999999) {
alert('The work phone number you entered is invalid. It must be between 100-0000 and 999-9999');
return;
}
}
if (IsInteger(txtPhMobile.value)) {
if (txtPhMobile.value < 0210000000 || txtPhMobile.value > 0299999999) {
alert('The mobile phone number you entered is invalid. It must be between 021-000-0000 and 029-999-9999');
return;
}
}
document.getElementById('form1').submit();
}
</script>
<div>
<table>
<tr><td>First Name:</td><td><asp:TextBox ID="txtFirstName" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>last Name:</td><td><asp:TextBox ID="txtLastName" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>Username:</td><td><asp:TextBox ID="txtUsername" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>Password:</td><td><asp:TextBox ID="txtPassword" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>Repeat Password:</td><td><asp:TextBox ID="txtRepeatPassword" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>Email:</td><td><asp:TextBox ID="txtEmail" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>Home Phone:</td><td><asp:TextBox ID="txtPhHome" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>Work Phone:</td><td><asp:TextBox ID="txtPhWork" Width="150" runat="server"></asp:TextBox></td></tr>
<tr><td>Mobile Phone:</td><td><asp:TextBox ID="txtPhMobile" Width="150" runat="server"></asp:TextBox></td></tr>
</table>
<input type="button" class="caption" value="Register" id="btnRegister" name="btnRegister" onclick="btnRegister_OnClick()"/>
<br/>
<asp:Label ID="lblMessage" runat="server" class="message"></asp:Label>
<br/>
<asp:Label ID="lblMessage2" runat="server" class="message"></asp:Label>
<br/>
<asp:Label ID="lblDataId" runat="server"></asp:Label>
</div>
</asp:Content>
는 이런 일이있을 수 있습니다 이유에 어떤 도움을 주셔서 감사합니다, 그 임무는 오늘 늦게 끝날거야.
내 대학에서 서버에 모두 업로드와 같은 문제는 여전히 존재합니다. 코드와 관련이 있어야합니까? 어떻게 이해가 안되지만 – StuckStudent