CSV -Upload in asp nach Access-DB

Status
Nicht offen für weitere Antworten.

andi1970

Grünschnabel
Hallo alle zusammen,

gleich vorweg, ich habe von asp soviel Ahnung wie ein Schuster vom Metzgern.

ich habe ein Portal wo angemeldete User Arikel ähnlich wie bei einer Auktion einstellen können. (B2B - Portal). Das ganze läuft auf einen Windows 2003 Server.
Im Mitgliederbereich können dan die User mittels eines Formulars Ihre Artikel einstellen die dann in Access-db gespeichert wird, dabei zählt das Formular die Anzahl der Datensätze - das heist der User kann nur so viel Datensätze einstellen wie er vorher gebucht hat.

Für Lösungsansätze sch jetzt besten Dank, aber kein Fach-Chinesisch ich habe keine Ahnung von ASP

Nun suche ich nach einer Möglichkeit das Die User Ihrte Daten auch per CSV- upload
einstellen können.
Im Klartext -
1. Der Dateiname muss egalsein
2. Die Datensätze der CSV müssen gezählt werden
3. Die CSV muss nach pkt.2 in die Datenbank eingelesen werden.


Hier die Datei mittels derer die User Ihre Artikel einstellen, ich habe das jetzt schon für einen Upload abgeändert(auf der Html-Seite)::confused::confused::confused:

Code:
<%@LANGUAGE="VBSCRIPT"%> 
<!--#include file="Connections/haendlerportalkunden.asp" -->
<!--#include file="head.asp"-->
<%
'---JS'20040828---BOF

If Session("DatensaetzeFrei") < 1 Then Response.Redirect "login_ok.asp"

'---JS'20040828---EOF
%>
<%
' *** Edit Operations: declare variables

MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert")) <> "") Then

  MM_editConnection = MM_heandlerportaldaten_STRING
  MM_editTable = "daten"
  MM_editRedirectUrl = "login_ok.asp"
  MM_fieldsStr  = "Firmenname|value|Anrede|value|Ansprechpartner|value|Strasse|value|PLZ|value|Ort|value|Land|value|Telefon|value|Telefax|value|Mail|value|Zahlungsmoeglichkeiten|value|Versandarten|value|VersandkostenInland|value|Waehrung1|value|VersandkostenAusland|value|Waehrung2|value|VersandkostenBemerkung|value|FirmenlogoAdresse|value|USTIDNR|value|Benutzername|value|Passwort|value|Registrierungsdatum|value|HomepageAdresse|value|HomepageAGBAdresse|value|Branche|value|Kategorie|value|Rubrik|value|ArtikelNr|value|Titel|value|Beschreibung|value|Menge|value|Verpackungseinheit|value|Mindestabnahme|value|Lieferzeit|value|Gueltigbis|value|EhemaligerPreis|value|Ladenpreis|value|Preis|value|Produktbild1|value|Produktbild2|value|Galerie|value"
  MM_columnsStr = "Firmenname|',none,''|Anrede|',none,''|Ansprechpartner|',none,''|Strasse|',none,''|PLZ|',none,''|Ort|',none,''|Land|',none,''|Telefon|',none,''|Telefax|',none,''|Mail|',none,''|Zahlungsmoeglichkeiten|',none,''|Versandarten|',none,''|VersandkostenInland|',none,''|Waehrung1|',none,''|VersandkostenAusland|',none,''|Waehrung2|',none,''|VersandkostenBemerkung|',none,''|FirmenlogoAdresse|',none,''|USTIDNR|',none,''|Benutzername|',none,''|Passwort|',none,''|Registrierungsdatum|',none,''|HomepageAdresse|',none,''|HomepageAGBAdresse|',none,''|Branche|',none,''|Kategorie|',none,''|Rubrik|',none,''|ArtikelNr|',none,''|Titel|',none,''|Beschreibung|',none,''|Menge|',none,''|Verpackungseinheit|',none,''|Mindestabnahme|',none,''|Lieferzeit|',none,''|Gueltigbis|',none,''|EhemaligerPreis|',none,''|Ladenpreis|',none,''|Preis|none,none,null|ProduktbildURL1|',none,''|ProduktbildURL2|',none,''|Galerie|none,1,0"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "|")
  MM_columns = Split(MM_columnsStr, "|")
  
  ' set the form values
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

If (CStr(Request("MM_insert")) <> "") Then

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    FormVal = MM_fields(i+1)
    MM_typeArray = Split(MM_columns(i+1),",")
    Delim = MM_typeArray(0)
    If (Delim = "none") Then Delim = ""
    AltVal = MM_typeArray(1)
    If (AltVal = "none") Then AltVal = ""
    EmptyVal = MM_typeArray(2)
    If (EmptyVal = "none") Then EmptyVal = ""
    If (FormVal = "") Then
      FormVal = EmptyVal
    Else
      If (AltVal <> "") Then
        FormVal = AltVal
      ElseIf (Delim = "'") Then  ' escape quotes
        FormVal = "'" & Replace(FormVal,"'","''") & "'"
      ElseIf Delim = "" Then               '---JS'20040830: Für numerische Werte...
        FormVal = Replace(FormVal,",",".") '---JS'20040830: ...Komma in Punkt wandeln
      Else
        FormVal = Delim + FormVal + Delim
      End If
    End If
    If (i <> LBound(MM_fields)) Then
      MM_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End if
    MM_tableValues = MM_tableValues & MM_columns(i)
    MM_dbValues = MM_dbValues & FormVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
%>
<!--#include file="Connections/heandlerportaldaten.asp" -->
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="error_101.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
  If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
         (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
  End If
End If
If Not MM_grantAccess Then
  MM_qsChar = "?"
  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
  MM_referrer = Request.ServerVariables("URL")
  if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
  Response.Redirect(MM_authFailedURL)
End If
%>
<%
set haendlerportaldaten = Server.CreateObject("ADODB.Recordset")
haendlerportaldaten.ActiveConnection = MM_heandlerportaldaten_STRING
haendlerportaldaten.Source = "SELECT * FROM eigentuemer"
haendlerportaldaten.CursorType = 0
haendlerportaldaten.CursorLocation = 2
haendlerportaldaten.LockType = 3
haendlerportaldaten.Open()
haendlerportaldaten_numRows = 0
%>
<%
set daten = Server.CreateObject("ADODB.Recordset")
daten.ActiveConnection = MM_heandlerportaldaten_STRING
daten.Source = "SELECT * FROM daten"
daten.CursorType = 0
daten.CursorLocation = 2
daten.LockType = 3
daten.Open()
daten_numRows = 0
%>
<%
set anmeldedaten = Server.CreateObject("ADODB.Recordset")
anmeldedaten.ActiveConnection = MM_haendlerportalkunden_STRING
anmeldedaten.Source = "SELECT * FROM anmeldedaten " _
                    & "where Benutzername='" & Session("MM_Username") & "'"   '---JS'20040811: Login berücksichtigt
anmeldedaten.CursorType = 0
anmeldedaten.CursorLocation = 2
anmeldedaten.LockType = 3
anmeldedaten.Open()
anmeldedaten_numRows = 0
%>
<%
set kategorien = Server.CreateObject("ADODB.Recordset")
kategorien.ActiveConnection = MM_heandlerportaldaten_STRING
kategorien.Source = "SELECT * FROM kategorien ORDER BY Kategorien ASC"
kategorien.CursorType = 0
kategorien.CursorLocation = 2
kategorien.LockType = 3
kategorien.Open()
kategorien_numRows = 0
%>
<html>
<head>
<title>Restposten Konkursware Grosshändler Sonderposten Auktionsartikel Importeure überschüssige Wirtschaftsgüter B2B Handelsplatz</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<STYLE TYPE="text/css">
	<!--
	select	{font-size: 8pt} input {font-size: 8pt} textarea {font-size: 8pt} td {font-size: 8pt}
	--></STYLE>
<style type="text/css"><!--
form {margin:0}
//-->
</style>
<script language="JavaScript">
<!--
function openWin(url, windowname, w, h) {
  newWin=window.open(url, windowname, "scrollbars=yes,width=" + w + ",height=" + h)
  newWin.focus()
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' bitte korrekte E- Mail Adresse angeben.\n';
      } else if (test!='R') {
        p=val.indexOf(','); if (p>0) val = val.substring(0,p) + '.' + val.substring(p+1); //---JS'20051227: Kommaeingabe korrigiert
        if (isNaN(val)) errors+='- '+nm+' bitte geben Sie hier eine Zahl ein.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' Daten unvollständig.\n'; }
  } if (errors) alert('Information !\n\nEine Datenerfassung ist leider nicht möglich.\nVervollständigen Sie bitte nachfolgende Eingabefelder . . .\n\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" vlink="#000000" alink="#000000">
<form name="hinzufuegen" method="POST" action="<%=MM_editAction%>" onSubmit="MM_validateForm('ArtikelNr','','RisNum','Titel','','R','Menge','','RisNum','Verpackungseinheit','','RisNum','Mindestabnahme','','RisNum','Lieferzeit','','R','Gueltigbis','','R','EhemaligerPreis','','RisNum','Ladenpreis','','RisNum','Preis','','RisNum','Beschreibung','','R');return document.MM_returnValue" enctype="multipart/form-data">
  <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr> 
      <td bgcolor="#D6DCFE"><img src="images/trans20.gif" width="5" height="1"></td>
    </tr>
    <tr> 
      <td> 
        <table width="100%" border="0" cellspacing="0" cellpadding="0" height="292">
          <tr> 
            <td width="21%" valign="top" bgcolor="#D6DCFE" height="291"> 

<!--#include file="menu.asp"-->

              <img src="images/trans20.gif" width="5" height="5"> </td>
            <td width="79%" valign="top" height="291"> 
              <table width="100%" border="0" cellspacing="0" cellpadding="0" height="324">
                <tr> 
                  <td width="3%" valign="top" height="324"><img src="images/trans20.gif" width="20" height="5"></td>
                  <td width="97%" height="324"> 
                    <table width="100%" border="0" cellspacing="0" cellpadding="0">
                      <tr> 
                        <td> 
                          <table width="100%" border="0" cellspacing="0" cellpadding="0">
                            <tr> 
                              <td colspan="6" height="9" valign="top"> 
                                <table border="0" cellpadding="0" cellspacing="0" width="100%" height="8">
                                  <tr> 
                                    <td colspan="3" height="9" valign="top"><img src="images/trans20.gif" width="5" height="10"></td>
                                  </tr>
                                  <tr> 
                                    <td colspan="3" height="9" valign="top"><font face="Arial, Helvetica, sans-serif" size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#CC0000"><img src="images/xxxrechteck.gif" width="10" height="11"> </font></b></font>
                                    <b>
                                    <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#CC0000">
                                    CSV -Upload</font></b></td>
                                  </tr>
                                  <tr> 
                                    <td colspan="3" height="9" valign="top"><b>
                                    <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#CC0000">
                                    Wählen Sie Ihre Datei auf ihren lokalen 
                                    System aus</font></b><p><b>
                                    <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#CC0000">
                                    Ihre Persönlichen Daten werden Automatisch 
                                    vom System übernommen.</font></b></p>
                                    <p><b>
                                    <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#CC0000">
                                    Bitte beachten Sie die Menge der Datensätze 
                                    entsprechend Ihrres gebuchten Paketes, da es 
                                    sonst zu fehlermeldungen</font></b></p>
                                    <p><b>
                                    <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#CC0000">
                                    kommt.</font></b></td>
                                  </tr>
                                  <tr> 
                                    <td colspan="3" height="9" valign="top"><img src="images/trans20.gif" width="5" height="17"></td>
                                  </tr>
                                  <tr> 
                                    <td colspan="3" height="9" valign="top"> 
                                      <input type="hidden" name="Firmenname" value="<%=(anmeldedaten.Fields.Item("Firmenname").Value)%>">
                                      <input type="hidden" name="Anrede" value="<%=(anmeldedaten.Fields.Item("Anrede").Value)%>">
                                      <input type="hidden" name="Ansprechpartner" value="<%=(anmeldedaten.Fields.Item("Ansprechpartner").Value)%>">
                                      <input type="hidden" name="Strasse" value="<%=(anmeldedaten.Fields.Item("Strasse").Value)%>">
                                      <input type="hidden" name="PLZ" value="<%=(anmeldedaten.Fields.Item("PLZ").Value)%>">
                                      <input type="hidden" name="Ort" value="<%=(anmeldedaten.Fields.Item("Ort").Value)%>">
                                      <input type="hidden" name="Land" value="<%=(anmeldedaten.Fields.Item("Land").Value)%>">
                                      <input type="hidden" name="Telefon" value="<%=(anmeldedaten.Fields.Item("Telefon").Value)%>">
                                      <input type="hidden" name="Telefax" value="<%=(anmeldedaten.Fields.Item("Telefax").Value)%>">
                                      <input type="hidden" name="Mail" value="<%=(anmeldedaten.Fields.Item("Mail").Value)%>">
                                      <input type="hidden" name="Zahlungsmoeglichkeiten" value="<%=(anmeldedaten.Fields.Item("Zahlungsmoeglichkeiten").Value)%>">
                                      <input type="hidden" name="Versandarten" value="<%=(anmeldedaten.Fields.Item("Versandarten").Value)%>">
                                      <input type="hidden" name="VersandkostenInland" value="<%=(anmeldedaten.Fields.Item("VersandkostenInland").Value)%>">
                                      <input type="hidden" name="Waehrung1" value="<%=(anmeldedaten.Fields.Item("Waehrung1").Value)%>">
                                      <input type="hidden" name="VersandkostenAusland" value="<%=(anmeldedaten.Fields.Item("VersandkostenAusland").Value)%>">
                                      <input type="hidden" name="Waehrung2" value="<%=(anmeldedaten.Fields.Item("Waehrung2").Value)%>">
                                      <input type="hidden" name="VersandkostenBemerkung" value="<%=(anmeldedaten.Fields.Item("VersandkostenBemerkung").Value)%>">
                                      <input type="hidden" name="FirmenlogoAdresse" value="<%=(anmeldedaten.Fields.Item("FirmenlogoAdresse").Value)%>">
                                      <input type="hidden" name="USTIDNR" value="<%=(anmeldedaten.Fields.Item("USTIDNR").Value)%>">
                                      <input type="hidden" name="Benutzername" value="<%=(anmeldedaten.Fields.Item("Benutzername").Value)%>">
                                      <input type="hidden" name="Passwort" value="<%=(anmeldedaten.Fields.Item("Passwort").Value)%>">
                                      <input type="hidden" name="Registrierungsdatum" value="<%=(anmeldedaten.Fields.Item("Registrierungsdatum").Value)%>">
                                      <% '---JS'20040815---BOF %>
                                      <input type="hidden" name="HomepageAdresse" value="<%=(anmeldedaten.Fields.Item("HomepageAdresse").Value)%>">
                                      <input type="hidden" name="HomepageAGBAdresse" value="<%=(anmeldedaten.Fields.Item("HomepageAGBAdresse").Value)%>">
                                      <input type="hidden" name="Branche" value="<%=(anmeldedaten.Fields.Item("Branche").Value)%>">
                                      <% '---JS'20040815---EOF %>
                                    </td>
                                  </tr>
                                  <tr> 
                                    <td colspan="3" height="9" valign="top"> 
                                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> &nbsp;</td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> &nbsp;</td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> &nbsp;</td>
                                        </tr>
                                        <tr> 
                                          <td width="21%"><b><font size="2">CSV 
                                          - Datei</font></b></td>
                                          <td width="79%"> 
                                          <input type="file" name="F1" size="50"></td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> &nbsp;</td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> &nbsp;</td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> <b>Bitte beachten Sie 
                                          die vorgegebene Formatierung der 
                                          einzelnen Spalten.</b></td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> &nbsp;</td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%"> &nbsp;</td>
                                        </tr>
                                        <tr> 
                                          <td width="21%">&nbsp;</td>
                                          <td width="79%">&nbsp;</td>
                                        </tr>
                                      </table>
                                    </td>
                                  </tr>
                                  <tr> 
                                    <td colspan="3" height="9" valign="top"> 
                                      <div align="right">
                                        <input type="hidden" name="MM_insert" value="true">
                                        <input type="hidden" name="Produktbild1" value="produkte/keinbild.gif">
                                        <input type="hidden" name="Produktbild2" value="produkte/keinbild.gif">
                                        <input type="image" name="Abschicken" value="Abschicken" src="images/xsenden.gif">
                                      </div>
                                    </td>
                                  </tr>
                                </table>
                              </td>
                            </tr>
                          </table>
                        </td>
                      </tr>
                    </table>
                  </td>
                </tr>
              </table>
            </td>
          </tr>
          <tr bgcolor="#9999CC"> 
            <td colspan="2" height="1"><img src="images/trans20.gif" width="5" height="1"></td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</form>
</body>
</html>
<%
haendlerportaldaten.Close()
%>
<%
daten.Close()
%>
<%
anmeldedaten.Close()
%>
<%
kategorien.Close()
%><!--#include file="foot.asp"-->
 

Luzie

Erfahrenes Mitglied
Hi

Ohne Fachchinesisch gehts leider nicht.

Im Buch "Das ASP-Codebook" von Stefan Falz und Karsten Samaschke steht zu dem Thema alles, was Du wissen musst.

Beide präsentieren auch Beiträge in der Art in ihren Internet-Bereichen

bsp.
http://www.aspfaq.de/index.asp?FID=100&ELE=8707

oder
http://www.aspextra.de

Wenn der User eine CSV-Datei hochläd und die ausgelesen werden soll, muss er explizite Vorgaben beachten, man kann da nicht wild eine Datei hochladen.

Fürs Hochladen benötigt man gewisse Sicherheitsvoraussetzungen. Diese bieten nur Komponenten. K. Samaschke hat auf aspextra einen Dateiupload veröffentlicht, der auch ohne Komponente läuft, allerdings muss man mögliche Sicherheitseinstellungen da nachprogrammieren.

Ich weiß ja nicht, was Du vor hast, aber möglicherweise ist die Eingabe von Daten direkt in eine Datenbank einfacher.
 

andi1970

Grünschnabel
hi,

erst mal danke für ddie Antwort.
also was ich vorhabe ist eigentlich eine Schnittstelle schaffen für einen Daten-Upload.

Das Problem hierbei ist, die Datensätze der User dürfen ein bestimmtes limet nicht überschreiten.
Wie im Code zu sehen ist wird vor jeder übertragung geprüft wie viele Datensätze noch frei sind.
Die Daten werden alle dann in eine vorhandene Datenbank eingelesen. wenn man nur 5 Datensäte hat kann man natürlich die einzeln übertragen, aber bei 100 oder mehr wird das schnell zu qual.
Natürlich muss die csv auch vorgabe erstellt werden, damit die Daten in die richtigen Tabellenspalten eingelesen werden können.

Ich würde ja am liebsten die vorhanden Datei hernehmen muss natürlich noch angepasst werden für einen upload, aber die wichtigen Dinge sind ja entalten Datenbankanbindung ect.
mir fehlt halt der Ansatz ohne asp-erfahrung.

mfg
 

Luzie

Erfahrenes Mitglied
Hi,

wenn ein Kunde eine CSV einfügen will, hast Du keine Kontrolle darüber, was er da hochläd. Die Fehler sind einfach vorprogrammiert und keiner wird möglicherweise richtig glücklich. Nu gut, ich denke mal, Du kennst die Kunden und die wissen was sie tun. Kann auch sein, dass Du den Inhalt über eine Regulären Ausdruck auf Richtigkeit und Anzahl überprüfen kannst, aber das ist selbst mir zu hoch.

Naja, aber kannst es ja mal überprüfen :)
http://regexlib.com/Search.aspx?k=csv

Gesetzt den Fall, der Kunde hat 10 Datensätze zur Verfügung und läd 100 hoch (in der CSV), dies wäre einzuschränken, aber erst über mehrere Schritte. Einlesen wird er zuerst einmal die ganze Datei. Dann kannst Du entweder prüfen, und Du die restlichen löschen oder über den Top

Select top xx * from tabelle

nur die Datensätze ausgeben, die er auch einfügen darf.

Wie schon geschrieben, für das Upload brauchst Du eine Komponente.
Wenn Du keinen eigenen Webserver betreibst, kann es sein, dass der Provider Dir nicht erlaubt, eigene Komponenten zu installieren.

Da Du ja mit dem Dreameweaver vertraut bist, würde ich Dir die DW-Extensions ASP-Upload empfehlen, hier ist die Installation einer Komponente nicht erforderlich.
http://www.dmxzone.com/ShowDetail.asp?NewsId=1622

Dafür kostet sie zwar ein bisschen, aber Du hast eine Menge Features. :)
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.