merhaba arkadaşlar asp.net te bir dosya uplaod scripti yapıcam fakat karşılaştığım ve 3 saattirde çözemediğim bi hatayla karşlıalşyorum.
Hata bu :
![](http://i.hizliresim.com/1j0o4B.png)
aynı kodları yeni bir sayfa açıp orda yapıtşırıp çalıştırıyorum fakat hata vermeden çalışıyor.hata veren sayfanın kodalrınıda olduğu gibi ekleyeyim :
ordaki yüklenen dosyanın adının başıan rasgele sayı eklemekdeki kastım aynı adda başka bi dosya yüklendiğinde karışmaması içindi. Dosya yükelemsi ve kaydetmesinde sorun yok fakat veritabanıa kaydetmesinde sorun çıkarıyo. Baya bi araştırdım fakat çözümünü bulamadım yardım edenelre şimdiden teşekkürler![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Hata bu :
![](http://i.hizliresim.com/1j0o4B.png)
aynı kodları yeni bir sayfa açıp orda yapıtşırıp çalıştırıyorum fakat hata vermeden çalışıyor.hata veren sayfanın kodalrınıda olduğu gibi ekleyeyim :
Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;
using System.Data.OleDb;
public partial class _Default : System.Web.UI.Page
{
protected vo id Page_Load(object sender, EventArgs e)
{
OleDbConnection veribaglantisi;
OleDbCommand komutlar;
veribaglantisi = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("App_Data/veritabani.accdb"));
veribaglantisi.Open();
string sorgu = "Select * from ayarlar Where id=1";
komutlar = new OleDbCommand(sorgu, veribaglantisi);
OleDbDataReader oku = komutlar.ExecuteReader();
oku.Read();
int maxdoboyut = Convert.ToInt32(oku["maxdosyaboyutu"]);
int d1 = (maxdoboyut / 1024) / 1024;
maxboyut.Text = "Maximim Dosya Boyutu: " + d1 + "MB";
}
protected vo id Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
OleDbConnection veribaglantisi2;
OleDbCommand komutlar2;
veribaglantisi2 = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("App_Data/veritabani.accdb"));
veribaglantisi2.Open();
Random bas1 = new Random();
double bas2 = bas1.Next(1, 99999);
string dosyadi = (bas2.ToString() + FileUpload1.FileName);
FileUpload1.SaveAs(Request.PhysicalApplicationPath + "dosyalar//" + dosyadi);
string sorgu2 = "Insert Into dosyalar (dosyaadi, boyut, dosyayolu) Values (@dosyaaddi, @boyut, @yol)";
komutlar2 = new OleDbCommand(sorgu2, veribaglantisi2);
komutlar2.Parameters.AddWithValue("@dosyaaddi", dosyadi);
komutlar2.Parameters.AddWithValue("@boyut", (FileUpload1.FileBytes));
komutlar2.Parameters.AddWithValue("@yol", ("dosyalar/" + dosyadi));
int a = komutlar2.ExecuteNonQuery();
veribaglantisi2.Close();
if (a >= 1)
{
lUyari.Text = "Dosya Başarıyla Yüklendi!";
}
else
{
lUyari.Text = "Dosya Yüklenirken Hata Oluştu!";
}
}
else
{
lUyari.Text = "Dosya Seçmedin!";
}
}
}
ordaki yüklenen dosyanın adının başıan rasgele sayı eklemekdeki kastım aynı adda başka bi dosya yüklendiğinde karışmaması içindi. Dosya yükelemsi ve kaydetmesinde sorun yok fakat veritabanıa kaydetmesinde sorun çıkarıyo. Baya bi araştırdım fakat çözümünü bulamadım yardım edenelre şimdiden teşekkürler