Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

C# Veritabanına Bağlanarak Giriş Yapma


Anarchosa
 Share

Recommended Posts

Problem şu;

Program 3 kere ücretsiz çalışacak ve 4. açılışta

KEY Sormasını istiyorum Database daha önce girilen KEY'le eşleşirse giriş yapsın. 

Girilen KEY Doğru ise Zaten Bir daha sormasına gerek yok.

 

 

Alıntı

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;
using System.Data.OleDb;

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

OleDbConnection con;
OleDbDataAdapter da;
OleDbCommand cmd;
DataSet ds;
string key;
string date;
public static string sonuc;


public void veritabani()
{
try
{
con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0 ;Data Source=cdkey.accdb");
con.Open();
//MessageBox.Show("Veritabanına bağlandınız");
}
catch (Exception e)
{

MessageBox.Show("Veritabanına bağlanırken hata oluştu" + e);
}


}



public void User()
{
OleDbCommand komut;
OleDbDataReader oku;


try
{

komut = new OleDbCommand();
komut.CommandText = "Select * from users where user_id =1";
komut.Connection = con;
oku = komut.ExecuteReader();
while (oku.Read())
{

key = oku[1].ToString();
date = oku[2].ToString();
}
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}
}


public void Keys()
{
OleDbCommand komut;
OleDbDataReader oku;

try
{

komut = new OleDbCommand();
komut.CommandText = "Select count(*) from cdkeys where key_number = '"+key+"' and key_date > '"+date+"'";
komut.Connection = con;
oku = komut.ExecuteReader();
while (oku.Read())
{

sonuc = oku[0].ToString();


}
con.Close();
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}

con.Close();
}

public void Kontrol()
{
if(sonuc == 1.ToString())
{

MessageBox.Show("Sisteme Kayitli");

Form2 form2 = new Form2();
form2.Show();
this.Size = new Size(0, 0);
Opacity = -999;

return;
}if(sonuc == 0.ToString())
{
MessageBox.Show("CD Key Süreniz Doldu ya da lisans key girmediniz.");
return;
}
}

public void Lisanskey()
{

cmd = new OleDbCommand();
//con.Open();
cmd.Connection = con;
cmd.CommandText = "update users set user_key='" + user_newkey + "', user_lasttime ='" + tumparcalar + "' where user_id= 1";
cmd.ExecuteNonQuery();
con.Close();
veritabani();
}









string tumparcalar;
string user_newkey;
private void Form1_Load(object sender, EventArgs e)
{

timer1.Start();
veritabani();

User();
Keys();

Kontrol();
string[] parcalar;

parcalar = label1.Text.Split('.');

tumparcalar = parcalar[2] + parcalar[1] + parcalar[0];

user_newkey = textBox1.Text;




}


private void button1_Click(object sender, EventArgs e)
{





veritabani();

string[] parcalar;

parcalar = label1.Text.Split('.');

tumparcalar = parcalar[2] + parcalar[1] + parcalar[0];
user_newkey = textBox1.Text;
Lisanskey();
User();
Keys();
Kontrol();




}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToShortDateString();
}
}
}

 

Edited by Anarchosa
Link to comment
Share on other sites

  • 1 ay sonra...

Eline sağlık Powershell ile çalıştırdım umarım yarar sağlar benim İnternet Ağı çok Sorunlu bir Ağ Wi-Fi Ağ temizliği olareak kaydettim. Benim Ağ Portlarını kullanan Alman ve Çinliler onlardan sürekli Script alıyorum. İngiltere'nin Hong Kong İngilizcesi var belki Siber Attaklardan fazla zarar görmüyorlar. Ama Nasdaq (İngiliz) Türkiye Veritabanında ne Ayarlar yapıyor bilinmesi lazım aksi takdirde çalışan Windows Sisrtemlerinde ki Uygulama Modu Cep telefonuyla birçok Ayar verme İmkanıu sağlar ki bu Durum Milyarlaca Dollar zarra uğrattır Ülkemizi. Yerli yazılım çıkarsa Veritabanı Şifreli İnternet Ağı Yabancı Kullanıcı Kimlikleri alınıp Filtrelenmeli ve Bloklanmalı.

Link to comment
Share on other sites

  • 2 hafta sonra ...

bunu yapabilmeniz için bir dosyada ya da registry'de programın kaç kere açıldığını tutmanız gerekiyor. herhangi bir klasörün içinde bir dosyaya şifreli bir şekilde tutabilirsiniz. bir yere bunu yazmadan program bunu anlayamaz. Ha windows bu şekilde bir günlük kaydı tutyorsa bilemem. Eğer algoritmayı kuramazsanız yardımcı olurum.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...