C# Kullanarak Crystal Reports'ta Bir Barkod Nasıl Eklenir
Crystal Reports, geliştiricilerin uygulamaları için zengin özellikli raporlar oluşturmasına olanak tanıyan güçlü bir raporlama aracıdır. C# kullanarak Crystal Reports'a barkod eklemek, veri temsilinde yeni bir boyut kazandırır, yönetimi ve bilgilerin izlenmesini kolaylaştırır. Bu makalede, C# kullanarak Crystal Reports'a barkod entegrasyon adımlarını inceleyeceğiz.
How to Add a Barcode in Crystal Reports using C
- Barkod Kütüphanesini Yükleyin.
- Bir Barkod görüntüsü oluşturun ve bir veritabanı tablosuna resim olarak kaydedin.
- Crystal Report'un düzenini tasarlayın.
- Veritabanına bağlantıyı kurun ve gerekli tabloyu seçin.
- Crystal Report düzenine Barkod Resim alanı ekleyin.
- Projeyi derleyin ve çalıştırın.
Bir Barkod Kütüphanesi Seçin
Uygulamaya dalmadan önce, Crystal Reports ve C#'ı destekleyen bir barkod kütüphanesi seçmek önemlidir. Popüler bir seçenek, .NET için IronBarcode.
IronBarcode nedir?
IronBarcode, barkod oluşturma ve okuma işlemlerini basitleştiren çok yönlü bir .NET kütüphanesidir. IronBarcode ile değerini kodlamak istediğiniz çeşitli barkodlar, Code 128 ve QR kodları dahil olmak üzere zahmetsizce oluşturabilirsiniz. Ayrıca boyutlandırma ve özelleştirme destekler. Okuma tarafında, IronBarcode, envanter yönetimi ve belge takibi için, görüntülerden veya PDF'lerden barkod verilerini çekebilir. Kullanıcı dostu API'si, projelerinize hızlı entegrasyon sağlar ve platformlar arası destek, farklı .NET sürümlerinde sorunsuz geliştirme imkanı sunar. Deneyimli bir geliştirici ya da acemi olun, IronBarcode, barkodlarla etkin çalışmanızı sağlar.
Yeni Bir Proje Oluşturun
ASP.NET Crystal Reports Web Sitesi oluşturmak için Visual Studio'yu açın. Visual Studio 2022'yi kullanıyorum. Herhangi birini kullanabilirsiniz, ancak o sürüme ait Visual Studio için Crystal raporlarının yüklü olduğundan emin olun.

Proje Adı, Konumu ve Hedef Platformunu seçin. Oluştur düğmesine tıklayın. Aşağıda gösterildiği gibi yeni bir proje oluşturulacaktır.

Başlamadan önce bir Veritabanına ihtiyacımız var. Yeni bir veritabanı ve örnek tablo oluşturalım.
Yeni Bir Veritabanı Oluşturun
Aşağıdaki betik, yeni bir veritabanı oluşturacaktır.
CREATE DATABASE ProductDB;
USE [ProductDB]
GO
/****** Object: Table [dbo].[Products] Script Date: 3/10/2024 2:57:18 PM******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Products](
[Product_ID] [int] NULL,
[Product_Name] [varchar](100) NULL,
[Product_Price] [decimal](18, 0) NULL,
[Product_Barcode] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Bu tabloya veri ekleyelim. Bir barkod oluşturup Ürün tablosuna kaydedeceğiz. Bu nedenle, verileri C# kodu kullanarak eklememiz ve projede barkod oluşturma özelliklerini kullanabilmek için IronBarcode Kütüphanesini kurmamız gerekiyor.
IronBarcode Kütüphanesi Yükleyin
NuGet Paket Yöneticisi Konsolu'nu kullanarak IronBarcode kütüphanesini yüklemek için şu adımları izleyin:
NuGet Paket Yöneticisi Konsolu'nu açın. Bunu Görünüm -> Diğer Pencereler -> Paket Yöneticisi Konsolu'na giderek bulabilirsiniz.

Paket Yöneticisi Konsolu'nda, IronBarcode kütüphanesini kurmak için şu komutu kullanın:
Install-Package BarCode
Komutu yürütmek için Enter tuşuna basın.
Alternatif olarak, Çözüm için NuGet Paketlerini Yönet'i kullanarak IronBarcode kütüphanesini yükleyebilirsiniz:

NuGet Paket Yöneticisi'nin IronBarcode kütüphanesini ve bağımlılıklarını indirmesini ve yüklemesini bekleyin. Yükleme tamamlandığında, Paket Yöneticisi Konsolu'nda bir onay mesajı göreceksiniz.
Şimdi, projenizde IronBarcode kütüphanesi yüklendi ve barkod oluşturma ve okuma özelliklerini kullanmaya başlayabilirsiniz.
Barkod Görüntüleri Oluşturun ve Veritabanında Saklayın
ADO.NET kullanarak barkod görüntüleri oluşturup veritabanında saklayacağız. Aşağıdaki kod, C#'ta barkod oluşturma örneğini gösterir.
using System;
using System.Data.SqlClient;
using IronBarCode;
class Program
{
static void Main(string[] args)
{
// Create a barcode from a string value using Code128 format.
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
// Add the barcode value text below the barcode image.
myBarcode.AddBarcodeValueTextBelowBarcode();
// Resize the barcode image.
myBarcode.ResizeTo(600, 300);
// SQL connection to the SQL Server database.
using (SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;"))
{
// SQL command to insert the barcode into the Products table.
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn);
// Add parameter for the barcode binary data.
cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream);
// Open the connection, execute the query, close the connection.
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
}
}
using System;
using System.Data.SqlClient;
using IronBarCode;
class Program
{
static void Main(string[] args)
{
// Create a barcode from a string value using Code128 format.
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
// Add the barcode value text below the barcode image.
myBarcode.AddBarcodeValueTextBelowBarcode();
// Resize the barcode image.
myBarcode.ResizeTo(600, 300);
// SQL connection to the SQL Server database.
using (SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;"))
{
// SQL command to insert the barcode into the Products table.
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn);
// Add parameter for the barcode binary data.
cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream);
// Open the connection, execute the query, close the connection.
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
}
}
Imports System
Imports System.Data.SqlClient
Imports IronBarCode
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a barcode from a string value using Code128 format.
Dim myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128)
' Add the barcode value text below the barcode image.
myBarcode.AddBarcodeValueTextBelowBarcode()
' Resize the barcode image.
myBarcode.ResizeTo(600, 300)
' SQL connection to the SQL Server database.
Using cn As New SqlConnection("Data Source=localhost\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;")
' SQL command to insert the barcode into the Products table.
Dim cmd As New SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn)
' Add parameter for the barcode binary data.
cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream)
' Open the connection, execute the query, close the connection.
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()
End Using
End Sub
End Class
Kod Açıklaması
1. Barkod Oluşturma
-
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);- Bu satır,
BarcodeWritersınıfınınCreateBarcode()metodunu kullanarak bir barkod oluşturur. Barkod, "77446252" dizesiyle temsil edilen verilerden, Code 128 kodlama formatı kullanılarak oluşturulur.myBarcodedeğişkeni artık oluşturulan barkodu tutar.
- Bu satır,
-
AddBarcodeValueTextBelowBarcode()- Bu işlev, barkodun altına barkod değerinin açıklama metnini ekler.
-
ResizeTo(600, 300)- Barkod görüntüsünün yüksekliği ve genişliğini belirtilen ölçülere göre ayarlar.
- Barkod görüntülerini dosya sistemine kaydetmek için
SaveAs()metodunu kullanabilirsiniz.
Yukarıdaki koddan oluşturulacak barkod aşağıdaki gibi olacaktır:

2. Veritabanı Bağlantısı Kurulumu
-
SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;");- Bir SQL Server veritabanına bağlantı kurar. Bağlantı dizesi sunucuyu (
localhost\\SQLEXPRESS), başlangıç kataloğunu (veritabanı adı:ProductDB) ve kimlik doğrulama bilgilerini (user ID savepassword 123456) belirtir.
- Bir SQL Server veritabanına bağlantı kurar. Bağlantı dizesi sunucuyu (
3. SQL Komut Oluşturma
-
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', '{myBarcode.BinaryStream}' )", cn);- Yeni bir
SqlCommandnesnesi oluşturur. Bu komut, Ürünler tablosuna veri eklemek için bir SQL sorgusunu temsil eder. - Sorgu, tablodaki sütunlara değerleri ekler:
77446252,'Pine Apple Small','100've oluşturulan barkodun ikili akışı (myBarcode.BinaryStream).
- Yeni bir
4. Veritabanı Etkileşimi
cn.Open();: Veritabanı bağlantısı açılır.cmd.ExecuteNonQuery();: SQL sorgusu yürütülür ve belirtilen değerler Ürünler tablosuna eklenir.cn.Close();: Kaynakları serbest bırakmak için veritabanı bağlantısı kapatılır.
Crystal Reports Barkod Oluşturucunuzu Tasarlayın
Şimdi, rapor düzenini tasarlayın, veritabanı bağlantılarını ekleyin ve gerekli alanları düzenleyin. Bu işlemde yeniyseniz, aşağıdaki adımları takip edin.
-
Alan Gezgini'ni Aç => Veritabanı Alanı => Veritabanı Uzmanı.

-
Yeni Bağlantı Oluştur'u Genişlet => OLE DB(ADO) => Yeni Bağlantı Oluştur.

-
Microsoft OLE DB Veri Kaynağını SQL Server için seçin ve İleri'ye tıklayın.

-
Aşağıda gösterildiği gibi Sunucu Adı, Giriş Bilgisi ve Veritabanı Adı belirtin.

- İleri butonuna basın, yeni bir pencere açılacak ve ardından Bitir'e tıklayın.
-
Eklemek istediğiniz tabloyu seçin. Bu durumda, Ürünler tablosunu seçin.

- Tamam Butonuna tıklayın.
Veritabanı Bağlantısını kurduk. Şimdi, Rapor düzenini kurulum yapalım.
Şimdi, "Crystal rapor C#'ta Barkod" metni ile bir Metin Kutusu ekledim. Bir metin kutusu ekledim ve Ürün Kimliği, Ürün Adı, Ürün Fiyatı Alanı ve Ürün Barkodu'nu veritabanı alanlarından sürükleyip kutunun içine yerleştirdim.

Crystal Report Görünümünde Crystal Report Önizlemesini Görün.

Projeyi derleyin ve çalıştırın. Çıktı şu şekildedir:

Örnek veri kümesi paketini indirmedim, doğru veri dosyasına sahip olduğumdan emin oldum ve kapsamlı veri görselleştirmesi için C#'ta bir Crystal Report oluşturdum.
Bu şekilde, Barkod Fontunu indirmeden Crystal Reports Uygulamasında barkod oluşturabiliriz. Benzer şekilde, gereksiniminize göre bir QR Kodu da ekleyebiliriz.
Sonuç
Sonuç olarak, C# kullanarak Crystal Reports'a barkod entegre etmek, veri temsilini ve yönetimini güçlendirmek için güçlü bir yol sunar. IronBarcode gibi güvenilir bir barkod kütüphanesi seçmek, süreçleri kolaylaştırır ve çok yönlülük ile kullanım kolaylığı sunar. IronBarcode, çeşitli barkod türlerinin, boyutlandırma ve özelleştirme özellikleri ile barkod oluşturma ve okuma görevlerinde değerli bir kaynak olduğunu kanıtlar. Burada sunulan adım adım kılavuz, kütüphaneyi seçmekten Crystal Report düzeni tasarımına kadar nahtabak uygulama sürecini sağlar.
Ayrıca, IronBarcode geliştiricilere, barkod entegrasyon deneyimlerini geliştirmek için ek işlevsellikler ve destek sağlama fırsatı sunar. Bu esneklik, IronBarcode'u, küçük ölçekli projeler veya kurumsal düzeyde uygulamalar üzerinde çalışan geliştiriciler için cazip bir seçim haline getirir.
Sıkça Sorulan Sorular
C# kullanarak bar kodları Crystal Reports'a nasıl entegre edebilirim?
C# kullanarak bar kodları Crystal Reports'a entegre etmek için, IronBarcode kullanarak bar kod görüntülerini oluşturabilirsiniz. İlk olarak IronBarcode kütüphanesini yükleyin, bar kod görüntüsünü oluşturun, bir veri tabanına kaydedin ve ardından Crystal Reports'u kullanarak düzeni tasarlayın ve bar kod görüntüsünü ekleyin.
C# dilinde bir bar kod oluşturma süreci nedir?
IronBarcode kullanarak, C# dilinde bir bar kod oluşturabilirsiniz. Bir bar kod nesnesi oluşturun, yeniden boyutlandırma ve metin ekleme gibi seçeneklerle kişiselleştirin, ardından görüntüyü dosyaya veya raporlarda kullanılmak üzere veri tabanına kaydedin.
C# dilinde bir bar kod görüntüsünü veri tabanına nasıl kaydedersiniz?
IronBarcode ile bir bar kod görseli oluşturduktan sonra, bu görüntüyü ikili formata dönüştürerek ve ADO.NET kullanarak bir veri tabanı tablosuna ek olarak kaydedebilirsiniz.
C# için bar kod üretiminde IronBarcode kullanmanın faydaları nelerdir?
C# için bar kod üretiminde IronBarcode kullanmak faydalıdır çünkü çeşitli bar kod formatlarını destekler, kişiselleştirmeye izin verir ve uygulamalara hızlı bir şekilde entegre edilmesi için basit bir API sunar, bu da envanter ve belge takibini iyileştirir.
Kristal Raporlar için bir veri tabanı bağlantısı nasıl kurabilirim?
Kristal Raporlar'da bir veri tabanı bağlantısı kurmak için, Field Explorer'i kullanarak Database Field'a gidin, ardından Database Expert'e gidin, Create a new Connection'u genişletin, OLE DB(ADO)'yu seçin ve gerekli sunucu detayları ile bağlantınızı yapılandırın.
IronBarcode, Crystal Reports'ta QR kodları üretmek için kullanılabilir mi?
Evet, IronBarcode, QR kodlarının yanı sıra diğer bar kod türlerini de üretebilir, bu da onu Crystal Reports'a farklı bar kod formatlarını entegre etmek için çok yönlü bir seçenek yapar.
Bar kodlarla bir Crystal Report düzeni oluşturmak için hangi adımlar izlenmelidir?
Bar kodlarla bir Crystal Report düzeni oluşturmak, bir rapor şablonu yaratmayı, bir veri tabanı bağlantısı kurmayı, bar kod görüntüsü alanını eklemeyi ve bar kod verilerini etkili bir şekilde dahil etmek için raporu biçimlendirmeyi içerir.
IronBarcode, C# projelerindeki raporlama yeteneklerini nasıl artırır?
IronBarcode, esnek ve kolay bir çözüm sunarak bar kodları oluşturma ve entegre etme yoluyla C# projelerindeki raporlama yeteneklerini artırır, bu da veri görselleştirmesi ve yönetimini iyileştirir.




