11 Mart 2015 Çarşamba

Ado da kodla access tablosuna insert işlemi



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;

namespace uyg_089_ado_kod_insert
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        OleDbConnection baglanti = new OleDbConnection();
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        OleDbCommand komut = new OleDbCommand();
              
        private void btnKaydet_Click(object sender, EventArgs e)
        {
            baglanti.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=data.accdb";
            komut.Parameters.Add("pads", OleDbType.VarChar, 255);
            komut.Parameters.Add("ptel", OleDbType.VarChar, 255);
            komut.Parameters.Add("peposta", OleDbType.VarChar, 255);
            komut.Parameters.Add("psifre", OleDbType.VarChar, 255);
            komut.Parameters["pads"].Value = textAds.Text;
            komut.Parameters["ptel"].Value = textTel.Text;
            komut.Parameters["peposta"].Value = textEposta.Text;
            komut.Parameters["psifre"].Value = textSifre.Text;
            //komut.CommandText = "insert into users (ads, tel, eposta, sifre) values (@pads, @ptel, @peposta, @psifre)";
            komut.CommandText = "insert into users (ads, tel, eposta, sifre) values (?, ?, ?, ?)";
            //? kullanarak yaparsanız commandtext teki alan sırasıyla parametre ekleme sırası aynı olmalıdır.
            komut.Connection = baglanti;
            komut.CommandType = CommandType.Text;
            adapter.InsertCommand = komut;
            baglanti.Open();
            komut.ExecuteNonQuery();
            baglanti.Close();
            MessageBox.Show("Kayıt işlemi tamanlanmıştır.");
        }
    }
}


2 Mart 2015 Pazartesi

for ve while döngüleri ile asal sayıların seri olarak yazdırılması

Aşağıdaki örnekte 100 e kadar olan asal sayılar konsol ekranına seri olarak yazdırılmıştır. Sayının asal olup olmadığı anlaşıldığı anda içteki döngüden çıkıp diğer sayıya geçmektedir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CA_031_asal_seri
{
    class Program
    {
        static void Main(string[] args)
        {
            int i,j;
            bool asal;
    
            for (i = 1; i <= 100; i++)
            {
                j = 2;
                asal = true;
                while (asal == true && j < i)
                {
                    if (i % j == 0) asal = false;
                    j++;
                }
                if (asal == true) Console.WriteLine(i);
            }
        }
    }
}

While Döngüsü ile Asal Sayı Kontrolü

Aşağıdaki örnekte kullanıcının  girdiği bir sayının asal olup olmadığı bulunuyor. Bu işlem için while döngüsünü kullandık. While şartlı bir döngüdür. Başlangıçta belirtilen şart doğru olduğu sürece döngü içerisindeki komutlar çalışır. Buradaki püf noktası bir sayının asal olmadığı ne zaman anlaşılırsa o zaman döngüden çıkıp diğer sayılarla gereksiz işlem yapmamasının sağlanmasıdır. Örneğin 10 sayısı 2 ye tam bölündüğünde asal olmadığı daha ilk işlemde anlaşılacaktır. Bu durumda bizim while döngümüz sadece 1 defa çalışacaktır. Gereksiz işlemlerin programımızı yavaşlattığı düşünüldüğünde bir programcının yapması gereken en doğru algoritmayı bulmaktır. :) Tabiki bazen en doğru algoritmayı bulmak mümkün olmayabiliyor, işimizin görüldüğüne bakıyoruz. Ama siz siz olun her zaman sonuca en doğru çözümlerle ulaşmaya çalışın.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CA_030_dongu_asal
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi = int.Parse(Console.ReadLine());
            bool asal=true;
            int i=2, sayac = 0;
            while (asal == true && i < sayi)
            {
                if (sayi % i == 0) asal = false;
                i++; sayac++;
            }
            if (asal == true) Console.WriteLine("Asaldır");
            else Console.WriteLine("Asal Değildir");
            Console.WriteLine("Döngü Sayısı:" + sayac);
        }
    }
}

İç içe for döngüsü, çarpım tablosu

Aşağıdaki örnekte iç içe for döngüsü ile yapılmış olan konsol çarpım tablosu vardır.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CA_024_carpimtablosu
{
    class Program
    {
        static void Main(string[] args)
        {
            // Aşağıdaki çıktıdaki gibi Çarpım Tablosunu yazdırınız.
            // 1 x 1 = 1        2 x 1 = 2       3           4           5
            // 1 x 2 = 2
            // ...
            // 1 x 10 = 10      2 x 10 = 20
            //
            // 6                7               8           8           10

            int x, y,satir=0,sutun=0;
            for (x = 1; x <= 10; x++)
            {
                if (x >= 6) satir = 12;
                else satir = 0;
                if (x == 6) sutun = 0;
                for (y = 1; y <= 10; y++)
                {
                    Console.SetCursorPosition(sutun, satir);
                    Console.WriteLine("{0} x {1} = {2}", x, y, x * y);
                    satir++;
                }
                sutun += 13;
            }
        }
    }
}