Jump to content

All Activity

This stream auto-updates     

  1. Last week
  2. Earlier
  3. Entity Framworkte codefirst tekniğinde SQL'e bağlanırken mastera bağlanamama hatası aldım, hatayı "integrated security =true" yazarak çözdüm. Ekteki ekran görüntüüsnde çözüm üstte, hata aşağıda olarak görebilirsiniz.
  4. Merhabalar. İsteginizi bir user defined function ile gercekleştirip satırın basında olacak verileri sadece raporlamada olmak suretiyle (serverdaki orijinal degişemez) istediginiz gibi sergileyebilirsiniz. Öncelikle nvarchar olan alanınızın icerisinde belli işlemleri yapabilecek bir fonksiyon yaratmalısınız. Mesela asagıda örnek olarak yaratılan bir fonksiyon benim like kısmında yazdığım şeylerin Description sütununun basında cıkmasını saglamaktadır. Eger ben bu fonksiyona farklı bir parametre verirsem bu sefer de o istedigim diger harfle baslayan satırlar o harften itibaren cıkacaklardır. create function KeepValues(@temp nvarchar(1000),@words nvarchar(1000)) returns nvarchar(1000) as begin declare @keptChars as nvarchar(1000) declare @position as int set @position = PATINDEX(@words,@temp) set @temp = substring(@temp,@position,Len(@temp)) return @temp end --yukarıdaki fonksiyonumuz iki parametre alıyor. Önce incelemek istedigi nvarchar degeri alıyor sonra ilgili satırların hangi harflerden itibaren baslamak istedigini (yani like'te yazdıgımız sartın aynısını nvarchar olarak) alıyor. Geriye de nvarchar deger döndürüyor. İceride uygun işlemleri yapıyor. go select CategoryName,dbo.KeepValues(Description,'%a%') from Categories where Description like '%a%' --yukarıdaki select sorgumuz ise Description sütununda icerisinde a gecen Kategorileri, Description sütunlarındaki degerler satırları a'dan baslayacak sekilde getir diyor. Umarım yardımcı olabilmişimdir.
  5. hocam teşekkür ediyorum projeyi hatasız başlatabildim.. @g4rdi
  6. "Data Source=DESKTOP-ENGIN\\SQLEXPRESS;Initial Catalog=TelefonRehberi;User ID=sa;Password=***********" yukarıdaki kodu dener misin @enginkaya
  7. Herkese Selamlar, Sorum konu başlığında olduğu gibi SQL'den C# WFA projesine veri çekme ile alakalı... SQL Server'dan C# veri çekerken, Form_Load bölümünde SqlConnection conn = new Sql connection diye instance aldım. sonuna eklediğim () içerisine veriyi çekecek yolu yazdım.Herşey tamam, yalnız bu veri yolunda, farklı bir çok yol denedim aynı hatayı aldım, veri bulanmıyor hata kodu=40 vs, uygulamayı patlatıyor.. bunun sebebi SQL için konuşuyorum, yanlış yükleme ile alakalı olabilir mi? Aynı zamanda bu hata kodunu internette arattığımda Görev Yöneticisi Hizmetler MSSQL$SQLEXPRESS çalışmayı durdurmuş olabilir yeniden çalıştırın sorun çözülür diyor, fakat bende çalışma durdurmuyor herşey sorunsuz çalışıyor.. -Data yolunun bilgisini Server Explorer-Data Connections-pcAdi\sqlexpress.dataAdi.dbo Properties-Conneciton Stringden çekiyorum Data Source=DESKTOP-ENGIN\SQLEXPRESS;Initial Catalog=TelefonRehberi;User ID=sa;Password=*********** + olarak ENGİN\SQLEXPRESS yazan kısımda '\' işaretinin olduğu kısım altı çizgili oluyor. sanırım \n komutunu benden bekliyor veya herhangi bir başka komut olabilir... bu sorunun nasıl üstesinden gelebilirim şimdiden teşekkürler,,
  8. Evet sevgili yazılımcı dostlarım... Bu makaleyi okuyorsanız muhtemelen yazılımda belirli bir yere gelmiş oluyorsunuz. Şüphesiz şu ana kadar OOP (Nesne Yönelimli Programlama) prensiplerine bağlı bi kaç proje yazmışsınızdır. Ancak yazmış olduğunuz proje kullanılmaya başlandığında her yerinden sorunlar çıkması muhtemeldir. Kayıt işlemini düzeltseniz, güncelleme patlıyordur. Ya da listeleme süper, ancak detay yanlış geliyordur. gibi gibi sorunlar... Bu durumda siz de ameliyat yapmaktansa yara bandı ile geçici çözümler buluyorsunuzdur. Endişelenmeyin bu konuda yalnız değilsiniz. Günümüzde hızlıca gelişen teknolojiye özellikle bizler (yazılımcılar) bi o kadar hızlı ayak uydurmalıyız. Çünkü yapmış olduğumuz projeleri kullanan insanlar haliyle çok fazla beklemeyi sevmez. Bu durumda yazacağımız kodları öyle bir yazmalıyız ki, durmadan gelişen teknolojiye hızlıca ayak uydurabilmeli. Örneğin hatırlayın OOP nedir bilmiyorken de sadece introduction (başlangıç) bilgilerimizle bir çok şeyi yazabilmemiz mümkündü. Peki neden OOP öğrendik. Çünkü yazmış olduğumuz kodları hem tek bir elden yönetebilme hem de geliştirebilirliği sürdürmek adına OOP prensiplerini öğrendik ve uyguluyoruz. Bu mantıkla beraber artık OOP prensiplerinin de üzerine bi takım prensipleri entegre etme zamanı gelmiştir. Bu prensipler S.O.L.I.D ismiyle anılmaktadır. Bu makale ve devamında gelecek olan yazılarımda elimden geldiğince SOLID prensiplerini hayattan örneklerle anlatmaya çalışacağım. Bilhassa "hayattan örneklerle" diyorum çünkü zaten hayatın içerisinde farkında olmasak ta kullanmaktayız. O halde başlayalım... S.O.L.I.D Nedir? ilk olarak 2000 tarihinde Robert C. Martin tarafından yazılan "Design Principles and Design Patterns" isimli makalesi ile tanışmış olduğumuz bu kavram daha sonra Michael Feathers tarafından S.O.L.I.D kısaltmasıyla 5 temel prensip üzerine inşa edildi. Ve son 20 yılda, bu 5 ilke nesne yönelimli programlama dünyasında devrim yarattı ve yazılım yazma şeklimizi değiştirdi. Basitçe ifade etmek gerekirse, Martin ve Feathers'ın tasarım ilkeleri, daha sürdürülebilir, anlaşılır ve esnek yazılımlar geliştirmemizi teşvik ediyor . Sonuç olarak, uygulamalarımızın boyutu büyüdükçe, karmaşıklıklarını azaltabilir ve yolun ilerleyen kısımlarında kendimizi birçok baş ağrısından kurtarabiliriz! Single Responsibility Open/Closed Liskov Substitution Interface Segregation Dependency Inversion Yukarıdaki kelimeler ilk bakıldığında ürkütücü gelebilir. Zaten ilk bakıldığında da çok fazla anlaşılmıyor. Ancak yazmış olduğumuz basit kod örneklerini inceldiğinizde aslında o kadar da karmaşık olmadığını keşfedeceksiniz
  9. @bybilisim1 sonuç olarak almak istediğiniz çıktının görselini yükler misin?
  10. Arkadaşlar merhaba, bir adet Aciklama sütunum mevcut. Ekte ki görsel bir örneğidir. ID'si "1001" olan sütuna bakın, 'Z1 : İR63', ID'si "1002" olan sütuna bakın, 'Z2 : İR63', ID'si "1003" olan sütuna bakın, 'Milli Dişli Z3 : İR63', ID'si "1004" olan sütuna bakın, 'Milli Dişli Z3 : YP63'. select Aciklama from Disliler Where Aciklama like '%İR63%' ben bu kodu SQL Server'da çalıştırdığım zaman, ID'lere göre, Aciklama sütununda bulunan tüm İR63 değerlerinin, satırın başına gelmesini istiyorum. Nasıl yapabilirim, yaklaşık iki haftadır, SQL String_Split SQL Stuff SQL SubQuery SQL Left-Right komutlarıyla denedim, ancak bir sonuç alamadım. Yardımcı olabilir misiniz?
  11. Evet. Tanımladığımız değişken bir nesnedir ve class olarak bildirilir. Aşağıda class olarak yapılan bir değişken tanımı, değer ataması ve message box ile gösterimi verilmiştir. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } class ogrenci { public string ad; public string soyad; public int numara; public string sınıf; } private void Form1_Load(object sender, EventArgs e) { ogrenci ogrenciler = new ogrenci(); ogrenciler.ad = "Mehmet"; ogrenciler.soyad = "TÜRKKORKMAZ"; ogrenciler.numara = 35; ogrenciler.sınıf = "5-A"; MessageBox.Show(ogrenciler.ad); MessageBox.Show(ogrenciler.soyad); MessageBox.Show(ogrenciler.numara.ToString()); MessageBox.Show(ogrenciler.sınıf); } } }
  12. C#'ta kendi tanımladığımız değişkenleri kullanabilir miyiz.
  13. merhaba, aynı Form1.cs üzerinde tanımlanan public class ve özellik diğer classta görünmüyor. sebebini bilen var mı? DedClassı başka bir class içinden çağırdığımızda ad fieldı geliyor ama alt satırda ad değişkeni doesnt exist hatası veriyor.
  14. private void timer2_Tick(object sender, EventArgs e) { //Metot Çağırma GetAutoKey(10); } //Metot Oluşturma public void GetAutoKey(int count) { try { for (int i = 0; i < count; i++) { int downCount = i+1; SendKeys.SendWait("textBox1.Text"); for (int j = 0; j < downCount; downCount--) { SendKeys.Send("{down}"); } SendKeys.SendWait("{Enter}"); } } catch (Exception) { throw; } }
  15. Öncelikle merhaba; Döngü kurarak belli bir sayı kadar tuş bastırtmak istiyorum lakin belli tuşları her döngü tekrarında bir öncekinden +1 kez daha fazla bastırtmasını nasıl sağlayabilirim? private void timer2_Tick(object sender, EventArgs e) { try { for (int i = 0; i < 257; i++) { SendKeys.SendWait(textBox1.Text); SendKeys.Send("{down}"); SendKeys.SendWait("{Enter}"); } } catch (Exception) { throw; } } Bu kodda şuan ki yaptığı işlem timer her başladığında döngü içinde 257 kez 3 ayrı tuşa bastırtma, benim yapmaya çalıştığım her adımda(257) down tuşunu bir öncekinden +1 kez daha fazla bastırtmasını sağlamak.Onu nasıl yapabilirim? textbox texti, down,enter textbox texti, down,down,enter textbox texti, down,down,down,enter gibi
  16. Muhtemelen içinizden "imkansız!" dediniz ancak ya imkanlar dahilinde olsaydı? O halde Independent Türkçe sitesinde yayımlanan haberin detayına geçelim... İşte video:
  17. ilk önce Asp.Net MVC (.Net Framework) projesi oluşturuyoruz. arından Web.config içerisine aşağıdaki tanımlamaları gerçekleştiriyoruz. <connectionStrings> <add name="ExcelDenemeEntities" connectionString="server=.;database=ExcelDeneme;uid=sa;pwd=123" /> <add name="Excel03ConString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES'"/> <add name="Excel07ConString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES'"/> </connectionStrings> Test isminde bir kontrol oluşturup bu Controller'a ait bir View açıyoruz. public class TestController : Controller { public ActionResult Index() { return View(); } } oluşturulan Action'a ait bir View tanımlıyoruz. @using (Html.BeginForm("ImportFile", "Test", FormMethod.Post, new { enctype = "multipart/form-data" })) { <div class="row" style="margin-top:25px;"> <div class="col-sm-12" style="padding-bottom:20px"> <div class="col-sm-2"> <span>Dosya Seç :</span> </div> <div class="col-sm-3"> <input class="form-control" type="file" name="postedFile" id="importFile" /> </div> <div class="col-sm-3"> <input class="btn btn-primary" id="btnUpload" type="submit" value="Yükle" /> </div> </div> </div> } yukarıda oluşturmuş olduğumuz Form'u yine TestController içerisinde ImportFile isimli bir Action tanımlayarak seçilen excel dosyasını gönderiyoruz. public ActionResult Index() { return View(); } [HttpPost] public ActionResult ImportFile(HttpPostedFileBase postedFile) { string filePath = string.Empty; if (postedFile != null) { string path = Server.MapPath("~/Uploads/"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } filePath = path + Path.GetFileName(postedFile.FileName); string extension = Path.GetExtension(postedFile.FileName); postedFile.SaveAs(filePath); string conString = string.Empty; switch (extension) { case ".xls": //Excel 97-03. conString = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString; break; case ".xlsx": //Excel 07 and above. conString = ConfigurationManager.ConnectionStrings["Excel07ConString"].ConnectionString; break; } DataTable dt = new DataTable(); conString = string.Format(conString, filePath); using (OleDbConnection connExcel = new OleDbConnection(conString)) { using (OleDbCommand cmdExcel = new OleDbCommand()) { using (OleDbDataAdapter odaExcel = new OleDbDataAdapter()) { cmdExcel.Connection = connExcel; //Get the name of First Sheet. connExcel.Open(); DataTable dtExcelSchema; dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); connExcel.Close(); //Read Data from First Sheet. connExcel.Open(); cmdExcel.CommandText = "SELECT * From [" + sheetName + "]"; odaExcel.SelectCommand = cmdExcel; odaExcel.Fill(dt); connExcel.Close(); } } } conString = ConfigurationManager.ConnectionStrings["ExcelDenemeEntities"].ConnectionString; using (SqlConnection con = new SqlConnection(conString)) { using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con)) { //Veritabanında yazdırma işlemi yapılacak tablonun adı. sqlBulkCopy.DestinationTableName = "dbo.Test"; //[OPTIONAL]: Okunan değerlerin yazdırılması sqlBulkCopy.ColumnMappings.Add("Kolon1", "kolon1"); sqlBulkCopy.ColumnMappings.Add("Kolon2", "kolon2"); sqlBulkCopy.ColumnMappings.Add("Kolon3", "kolon3"); con.Open(); sqlBulkCopy.WriteToServer(dt); con.Close(); } } } return View("Index"); } Github üzerinden projeye ulaşabilirsin: https://github.com/yazilimfikirleri/ExcelData
  18. Merhaba tekrardan, Uzun uğraşlar sonucu halledebildim.yazdığım kodları aşağıda palşıyorum. Controller using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Data.OleDb; using System.IO; using System.Web.Configuration; using WebApplication1.Models; namespace WebApplication1.Controllers { public class HomeController : Controller { // GET: Home SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString); OleDbConnection Econ; public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(HttpPostedFileBase file) { string filename = Guid.NewGuid() + Path.GetExtension(file.FileName); string filepath = "/exceldosya/" + filename; file.SaveAs(Path.Combine(Server.MapPath("/exceldosya"), filename)); InsertExceldata(filepath, filename); return View(); } private void ExcelConn(string filepath) { string constr = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;""", filepath); Econ = new OleDbConnection(constr); } private void InsertExceldata(string filepath, string filename) { string fullpath = Server.MapPath("/exceldosya/") + filename; ExcelConn(fullpath); string query = string.Format("Select * from [{0}]", "Sayfa1$"); OleDbCommand Ecom = new OleDbCommand(query, Econ); Econ.Open(); DataSet ds = new DataSet(); OleDbDataAdapter oda = new OleDbDataAdapter(query, Econ); Econ.Close(); oda.Fill(ds); DataTable dt = ds.Tables[0]; Model1 sqldata = new Model1(); foreach (DataRow row in dt.Rows) { sqldata.ExcelDenemes.Add(new ExcelDeneme { kolon1 = row["kolon1"].ToString(), kolon2 = row["kolon2"].ToString(), kolon3 = row["kolon3"].ToString() }) ; sqldata.SaveChanges(); } } } } Web.config <?xml version="1.0" encoding="utf-8"?> <!-- ASP.NET uygulamanızı nasıl yapılandıracağınız hakkında daha fazla bilgi için lütfen https://go.microsoft.com/fwlink/?LinkId=301880 adresini ziyaret edin --> <configuration> <appSettings> <add key="webpages:Version" value="3.0.0.0" /> <add key="webpages:Enabled" value="false" /> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> <system.web> <compilation debug="true" targetFramework="4.6" /> <httpRuntime targetFramework="4.6" /> </system.web> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0" /> </dependentAssembly> </assemblyBinding> </runtime> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> </compilers> </system.codedom> <connectionStrings> <add name="con" connectionString="Data Source=DENIZNB\SQLEXPRESS;Initial Catalog=ExcelDeneme;Integrated Security=True" providerName="System.Data.SqlClient" /> <add name="Model1" connectionString="data source=DENIZNB\SQLEXPRESS;initial catalog=ExcelDeneme;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /></connectionStrings> </configuration> Index View @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> <h2>Excel Import</h2> <form method="post" enctype="multipart/form-data"> <div> <input name="file" type="file" required /> <button type="submit">SQL'e Aktar</button> </div> </form> </div> </body> </html> Modeller namespace WebApplication1.Models { using System; using System.Data.Entity; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; public partial class Model1 : DbContext { public Model1() : base("name=Model1") { } public virtual DbSet<ExcelDeneme> ExcelDenemes { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { } } } namespace WebApplication1.Models { using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity.Spatial; [Table("ExcelDeneme")] public partial class ExcelDeneme { public int ID { get; set; } [StringLength(250)] public string kolon1 { get; set; } [StringLength(250)] public string kolon2 { get; set; } [StringLength(250)] public string kolon3 { get; set; } } }
  19. @dnzgumus veritabanındaki tablo bilgilerini de ekler misin? hatta github linki varsa onu da gönderebilirsin.
  20. Merhabalar, Benim yapmak istediğim bir proje var fakat bir türlü nereden başlayacağımı bulamadım. ASP.NET MVC üzerine yeni yeni birşeyler yapmaya başladım fakat bir konuda yetemiyorum ve kaynak bulamıyorum. yukarıda olduğu gibi bir ekran oluşturdum bu ekranda seçtiğim excel içerisindeki verileri SQL servera kaydetmek istiyorum fakat bir türlü kafamda oluşturamadım. Referans alabileceğim bir kaynak, önereceğiniz bir örnek varmıdır ? yardımcı olursanız çok sevinirim.
  21. Proje Açıklama: Seç butonuna tıklandığında ilk (sol taraftaki) listbox içerisinde kayıtlı olan öğrencilerden rastgele bir öğrencinin adı Mesaj Kutusunda Gösterilerek devamında ".... isimli öğrenci soruyu bildi mi?" uyarısını çıkarın. Mesaj kutusunun altında EVET ve HAYIR butonları eklensin. label içerisinde tanımlı olan 30 değeri saniyede bir azalacak şekilde geriye doğru saydırın. Değer 0'a ulaştığında eğer mesaj kutusunda seçim yapılmamışsa öğrenci otomatikman listBox3'e ve altta bulunan listView'e 0 puan eklenerek aktarılsın. Aktarım yapıldıktan sonra öğrencinin adı ilk listbox'tan silinsin. Eğer butonlardan EVET seçilmişse 5 puan dahil edilerek öğrencinin adı listBox2'e ve altta bulunan listview'e 5 puan eklenerek aktarılsın. aynı zamanda ilk listboxtan silinsin. ilk listbox içerisinde öğrenci kalmayıncaya kadar bu işlem uygulansın. öğrenci kalmamışsa mesaj kutusunda "seçim yapılacak öğrenci kalmadı" uyarısını kullanıcıya gösterin.
  22. Söylediğiniz gibi form içerisinde flowlayout kullandım ve listboxlar sıralı şekilde eklenmeye başladı. Ancak bir sorum daha var. Kupon eklerken sıraya uygun şekilde yapıyor ancak sil dediğimde içeriğindeki listboxları sol tarafa kaydırıyor. Bi sebebi var mı? Kullandığım kodlar ve örnek resimler aşağıda ki gibidir. foreach (Control ctr in flowLayoutPanel.Controls) { if (ctr is ListBox) { ListBox lbx = (ListBox)ctr; if (lbx.Visible == true) { lbx.Visible = false; break; } } }
  23. Benim de aklıma Pacman oyunundaki hareket eden label'ların konumunu belirleme durumu geldi.
  24. @hicrangumusbasToolbox içerisinden flowlayout panel kullanırsan sıralama işlemini otomatik olarak gerçekleştirebilirsin.
  1. Load more activity
×
×
  • Create New...