
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:
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();
}
}
}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 ClassKod 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.

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


