Avatar billede n1 Nybegynder
02. december 2004 - 12:10 Der er 7 kommentarer og
1 løsning

Skriv til database i .NET script med C#

Jeg skal ha skrevet til en database når jeg har uploaded et billede, der skal skrives til tabelen "billeder" i felterne image(strFileName), dato(påfør automatisk datoen) og userid (session(userid))

her er mit nuværende script:

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<%@ import namespace="System.Data.OleDb" %>

<script runat=server>

private void myUploadCode(Object sender, EventArgs e) {
    string strFileName;
    if(upload_file.PostedFile.ContentLength < (200*1024)) { //Er fil over 100kb?

if(upload_file.PostedFile.FileName.IndexOf("\\") > 0)
{
    strFileName = upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.LastIndexOf("\\") + 1);                                               
}
else
{
    // jeg ved ikke hvad det her gør godt for... måske gør du :o)
    strFileName = "ukendt fil";
}
strFileName = DateTime.Now.ToString("yyyy-MM-dd-HHmmss")+"-"+strFileName;
            if(!File.Exists(Server.MapPath("upload/stor/" + strFileName))) {

                    int MaxSize = 100;
                    try
                    {
                            System.Drawing.Image image = new System.Drawing.Bitmap(upload_file.PostedFile.InputStream);
                            upload_file.PostedFile.SaveAs(Server.MapPath("upload/stor/" + strFileName));
                            System.Drawing.Bitmap bOrg = (System.Drawing.Bitmap)image;
                            System.Drawing.Imaging.ImageFormat format = image.RawFormat;
                 
                            if(image.Width>MaxSize || image.Height>MaxSize) {
                                Bitmap b = Resize(bOrg,MaxSize,MaxSize);
                                b.Save(Server.MapPath("upload/" + strFileName ),format);
                            }
                            else
                            { //Gem original da billede allerede er mindre end 100px
                                    upload_file.PostedFile.SaveAs(Server.MapPath("upload/" + strFileName));


<--- her skal koden indsættes --->


                            }
                            Response.Write("<a href=\"img.asp?img=upload/stor/" + strFileName + "\">vis billede</a></p>");
                    }
                    catch(Exception ex)
                    {
                        Response.Write("Der skete en fejl ved processering af billedet: " + ex.Message);   
                    }
          }
          else
          {
                Response.Write("Filnavn eksisterer allerede, prøv at ombøbe billedet!");
          }

        }
        else {
                //Fil var for stor
                Response.Write("Billedet er over 100kb");
        }
}
private static Bitmap Resize(Bitmap b, int MaxHeight, int MaxWidth)
{
        int nWidth = b.Width;
        int nHeight = b.Height;
        if(nHeight>MaxHeight) {
                nWidth = (int)((((double)b.Width)/((double)b.Height))*((double)MaxHeight));               
                nHeight = MaxHeight;
        }
        if(nWidth>MaxWidth) {
                nWidth=MaxWidth;
                nHeight = (int)((((double)b.Height)/((double)b.Width))*((double)MaxWidth));
        }
        Bitmap bTemp = (Bitmap)b.Clone();
        b = new Bitmap(nWidth, nHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
        double nXFactor = (double)bTemp.Width/(double)nWidth;
        double nYFactor = (double)bTemp.Height/(double)nHeight;
        for (int x = 0; x < b.Width; ++x)
                for (int y = 0; y < b.Height; ++y)
                        b.SetPixel(x, y, bTemp.GetPixel((int)(Math.Floor(x * nXFactor)),
                                (int)(Math.Floor(y * nYFactor))));
        return b;
}

</script>

<html>
<body link="#FFFFFF" text="#FFFFFF" bgcolor="#000000" vlink="#FFFFFF" alink="#FFFFFF">

<form enctype="multipart/form-data" runat="server">


<asp:PlaceHolder id="phEdit" runat="server">
    <p><font color="#FFFFFF" face="Arial" size="5">Vælg billede:</font></p>
    <input id="upload_file" type="file" runat="server" /><br><br>
    <asp:button Text="Upload" onClick="myUploadCode" runat="server" /><br>
    <p><font color="#FFFFFF" face="Arial" size="4">Maks fil størrelse: 200kb</font></p>
    </asp:PlaceHolder>
</form>

</body></html>
Avatar billede hnteknik Novice
02. december 2004 - 12:22 #1
Øh hvad har du brug for ?

Kode til at gemme i databasen.
Avatar billede n1 Nybegynder
02. december 2004 - 13:48 #2
noget i stil med:

<%
set conn = server.createobject("ADODB.connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " &server.mappath("/data/data.mdb")

set write = server.createobject("ADODB.recordset")
wSQL ="SELECT * FROM billeder"
write.CursorType = 2
write.LockType = 3
write.open wSQL, conn

write.AddNew

Dim comment, tempComment

write.fields("image") = strFileName
write.fields("dato") = DateTime.Now.ToString("yyyy-MM-dd")
write.fields("userid") = Session("UserID")

write.Update


write.close
set write = Nothing
conn.close
%>

men det er bare asp så det vil ikke virke
Avatar billede hnteknik Novice
02. december 2004 - 14:07 #3
Jeg har et godt link derhjemme til, hvorn man læser, skriver, retter ned i databasen i ASPX.

Jeg må løbe nu til et møde, men kan give dig linket en gang i aften.

Henrik

Det er ikke så slemt.
Avatar billede hnteknik Novice
02. december 2004 - 21:28 #4
Prøv at kigge på denne:
Simple ADO Database Read, Insert, Update and Delete using C#.

http://www.codeguru.com/Csharp/Csharp/cs_data/article.php/c4211/
Avatar billede n1 Nybegynder
03. december 2004 - 12:01 #5
ok, det ser rimeligt godt ud, men man kan ikke bare kopiere det direkte over i mit script, jeg tror det skal skrives på en anden måde!!!
Avatar billede n1 Nybegynder
07. december 2004 - 13:59 #6
Kan du ikke lige skrive som et svar, jeg har fundet ud af det...
Avatar billede hnteknik Novice
07. december 2004 - 14:12 #7
Yep - håber du fandt ud af det. Var væk nogle dage.

Henrik
Avatar billede hnteknik Novice
07. december 2004 - 14:35 #8
takker - jeg skal selv i gang med et projekt i aften med at hente data ind i en grid over en dataprovider.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester