Mar
3
2013

E-Ticaret Sistemi

Merhaba,

E-ticaret sitemiz için ilk adımları atmış bulunmaktayız.


http://shop.msahin.net

Şuan test yayınına alındı.
Yakın zaman içinde tasarımsal yenilikler ve güncellemeler ile ilk BETA yayınına geçecektir.

 

Mar
3
2013

TSQL - Tabloya Kolon Ekleme

Veritabanınız da daha önce oluşturduğunuz bir tabloya yeni bir kolon eklemek isterseniz aşağıdaki kod bloğu kullanırız.

ALTER TABLE #TabloAdi
ADD #KolanAdi #KolonTipi

/* örnek */
ALTER TABLE dbo.Product
ADD ProductCode NVARCHAR(400) NULL

Ama daha önce yapmamız gereken birşey var. Ekleyeceğiniz kolonun daha önce eklenmediğini bilmemiz gerek, gereksiz yere ekleme yapmayalım. Onun için aşağıdaki kontrol bloğunu kullanmanızı öneririm.

IF COL_LENGTH('#TabloAdi','#KolonAdi') IS NULL
BEGIN
	#işlem
END

/* örnek */
IF COL_LENGTH('Product','ProductCode') IS NULL
BEGIN
	ALTER TABLE dbo.Product
	ADD ProductCode NVARCHAR(400) NULL
END

Böylelikle tabloya kontrollü bir şekilde yeni bir kolon ekleme yapmış oluruz.

Mar
3
2013

TSQL - Veritabanında Bulanan Herşeyi Silmek

Çok gerekli olur mu bilmiyorum ama gerekli bir durumda ihtiyacınız olabilir. Aşağıdaki kodlar ile veritabanınızda ki, stored procedures, views, functions, foreign keys, primary keys ve en sonunda tablolarınız silinir. Dikkat geriye hiçbir şey kalmaz.

/* Drop all non-system stored procs */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])

WHILE @name is not null
BEGIN
    SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped Procedure: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all views */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
    SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped View: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all functions */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
    SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped Function: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all Foreign Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)

WHILE @name is not null
BEGIN
    SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    WHILE @constraint IS NOT NULL
    BEGIN
        SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'
        EXEC (@SQL)
        PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name
        SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
END
GO

/* Drop all Primary Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)

WHILE @name IS NOT NULL
BEGIN
    SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    WHILE @constraint is not null
    BEGIN
        SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'
        EXEC (@SQL)
        PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name
        SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
END
GO

/* Drop all tables */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
    SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped Table: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

:) Deneme yaptım, düzgün çalışmaktadır. :)

Şub
24
2013
C#

C# - Extension Method ile String Encode-Decode

Özel karakterler içeren metinleri veritabanına yazmak sorun teşkil edebilir. Bunun için bu özel karakterlerden kurtulmamız gerekir. String sınıfımıza Extension Method (ilave metod) ekleyerek, projemiz içerisinde istediğimiz yerde kullanabiliriz. 

Extension Methods yazılırken, metodların ve metodları barındıran Class'ın static olması gerektiği unutulmamalı, metodların ilk parametresinin this başladığına dikkat edilmelidir.

Kullanılacak Namespace;

using System;
using System.Web;

Kod örneğimiz;

public static string ToSafe(this string value)
{
   if(string.IsNullOrEmpty(value))
     return value;
   return HttpUtility.HtmlEncode(value);
}
public static string ToUnSafe(this string value)
{
   if(string.IsNullOrEmpty(value))
     return value;
   return HttpUtility.HtmlDecode(value);
}

Kullanım örneği;

string text = "<b>Buraya Tıklayın</b>";
string safeText = text.ToSafe();
string unSafeText = safeText.ToUnSafe();
Console.WriteLine("SAFE   : " + safeText);
Console.WriteLine("UNSAFE : " + unSafeText);

Sonuç;

 

Smile

Aylara Göre

En Son Yorumlar

Gösterme