String into database!
Fumler lidt rundt med et script som skal sende en bruger et 5-cifret password når denne indtaster sin mail adresse. Scripter finder også passwordet, men problemet er at den ikke vil sætte det ind i databasen. Siger der er en syntaksfejl i INSERT INTO sætningen hvilket jeg tolker som at den ikke vis acceptere strengen.public static string CreateRandomPassword(int PasswordLength){
String _allowedChars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ23456789";
Byte[] randomBytes = new Byte[PasswordLength];
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetBytes(randomBytes);
char[] chars = new char[PasswordLength];
int allowedCharCount = _allowedChars.Length;
for(int i = 0;i<PasswordLength;i++)
{
chars[i] = _allowedChars[(int)randomBytes[i] % allowedCharCount];
}
return new string(chars);
}
void opretBruger(Object sender, System.Web.UI.WebControls.CommandEventArgs e) {
string strPassword;
strPassword = CreateRandomPassword(5);
string strMailTo;
strMailTo = elm3.Text;
MailMessage mail = new MailMessage();
mail.To = strMailTo;
mail.From = "Robin-Hansen.dk";
mail.Subject = "Password til gæstebog";
mail.BodyFormat = MailFormat.Html;
mail.Body = "<html><body><img src='http://images/banner1.gif'>XXX";
try
{
SmtpMail.SmtpServer = "mail.tele.dk";
SmtpMail.Send(mail);
}
catch(Exception ex)
{
OleDbConnection OurConnection;
OleDbCommand OurCommand;
OurConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("db/content.mdb")+";");
OurCommand = new OleDbCommand("INSERT INTO users (navn, mail, password) VALUES (@navn, @mail, @password)", OurConnection);
OurCommand.Parameters.Add("@navn", OleDbType.VarChar, 50).Value = elm2.Text;
OurCommand.Parameters.Add("@mail", OleDbType.VarChar, 50).Value = elm3.Text;
OurCommand.Parameters.Add("@password", OleDbType.VarChar, 5).Value = (strPassword.ToString());<--- Fejl!
OurConnection.Open();
OurCommand.ExecuteNonQuery();
OurConnection.Close();
Kender jeg mig selv ret så er det udformningen af sætningen hvor den er gal, men har prøvet så mange varianter som mulig, uden held! ~:-]
