SQL Prompt یک add in برای SQL Server Management و Visual Studio می باشد که intellisense قوی و سبک را برای نوشتن کدهای اسکریپت SQL فراهم می کند
5 روشی که SQL Prompt برای برنامه نویسی سریع تر استفاده می کند :
1. جدید! سابقه تب ها - ذخیره، جستجو، و بازیابی زبانه ها در SSMS
2. استفاده از IntelliSense در تکمیل کد
3. قالب بندی کد های SQL برای خوانایی بیشتر
4. استفاده از بریده کدها code snippets
5. Refactor کد SQL
به همراه آموزش نحوه کرک و فعال سازی آن
حجم فایل : ۷.۸۴ مگابایت
نحوه گذاشتن یک محدودیت بروی جدولی از دیتابیس در Sql Server
برای گذاشتن محدودیت یا constraints بر روی یک فیلد از جدولی در دیتابیس می توانیم راه های مختلفی استفاده کنیم
که داری چند نوع می باشد.
نوع اول
یکتایی مقدار در یک فیلد از جدول از کد زیر استفاده می کنیم.
alter table Table_1
add unique(a1)
نوع دوم
برای اینکه یک فیلد را محدود کنیم که این فیلد باید داده ای بین یک رنج خاصی را دریافت کند
یا داده های این فیلد از یک عدد مشخصی بیشتر نباشد.
alter table Table_1
add check(a1>15)
توضیحات کامل این مقاله را در سایت پروژه چی بخوانید
نحوه ساخت یک کاربر در Sql Server و ورود کاربر به سیستم
و مشخص کنیم به چه دیتابیس هایی دسترسی داشته باشد.
ابتدا در روت دیتابیس ها به منو Security رفته و سپس در Login رفته و بروی آن راست کلیک می کنیم و NewLogin را انتخاب می کنیم
Security>Login>RightClik>NewLogin
در کادر محاوره ای باز شده ابتدا یک نام مناسب برای کاربر مورد نظر وارد می کنیم
سپس پسورد آن را نیز مشخص می کنیم.
اگر هنگام ورود به سستم با خطا روبرو شدین باید باید روی سرور اصلی راست کلیک کنید و سپس Propertise را بزنید و سپس به زبانه Security و بعد از آن روی گزینه
sql server and windows Authentication mod
کلیک میکنیم
و بعد اوکی میکنیم و نهایتن اسکویل سرور را ریستارت می کنیم
توضیحات کامل این مقاله را در سایت پروژه چی بخوانید
نحوه دیدن لیست دیتابیس های موجود در Sql Server
select * from master.sys.databases
برای دیدن دیتابیس هایی که توسط خود ما ایجاد شده است از دستور زیر استفاده می کنیم.
exec sp_helpdb
دستور بالا لیست دیتابیس هایی که توسط خود ما ایجاد شده است و صاحب آن ما هستیم را نشان می دهد.
دستور حذف یک دیتا بیس از لیست دیتابیس های موجود
drop databases test1
دستور ساخت دیتا بیس
create database test3
نحوه ساخت یک دیدگاه یا View و درج اطلاعات Insert درون آن در اسکویل سرور
create view vew_Tamrin
as
select
a1,
a2
from Table_1
دستور زیر عمل درج اطلاعات یا Insert را انجام می دهد.
insert into vew_Tamrin
select 3,'siros' union
select 4,'babakhani'
توضیحات کامل این مقاله را در سایت پروژه چی بخوانید
نحوه ارسال پیام به گوشی اندروید از طریق Asp.net
برای ارسال پیام به گوشی اندروید با استفاده از یک سرویس گوگل ما این کار را انجام می دهیم به این صورت که ابتدا باید در جی سی ام گوگل ثبت نام کرده باشیم تا یک سری از کد ها را در اختیار داشته باشیم
این روش با استفاده از Google GCM انجام میدهیم که به ما SenderId و همچنین GoogleAppID را در اختیار ما قرار میدهد تا ما با استفاده از این ابزار ها بتوانیم پیام خود را مثل وایبر به یک نرم افزار توی اندروید بفرستیم
حالا کدهای سی شارپ سمت سرور بصورت زیر است.
public string SendNotification(string deviceId, string message)
{
//string GoogleAppID = "google application id";
string GoogleAppID = "AIzaSyADMm";
var SENDER_ID = "1049xxxxxxxxx";
var value = message;
value = HttpContext.Current.Server.UrlEncode(value);
//string x = n.;
//Notification message1 = new Notification.Builder().addData("alert", "test message" /*notif.getAlert()*/).build();
WebRequest tRequest;
tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send");
tRequest.Method = "post";
//tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
tRequest.ContentType = " application/x-www-form-urlencoded";
//tRequest.ContentType = " application/json";
tRequest.Headers.Add(string.Format("Authorization: key={0}", GoogleAppID));
tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID));
//string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message=" + value + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + deviceId + "";
string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.price=" + value + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + deviceId + "";
Console.WriteLine(postData);
Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
tRequest.ContentLength = byteArray.Length;
Stream dataStream = tRequest.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse tResponse = tRequest.GetResponse();
dataStream = tResponse.GetResponseStream();
StreamReader tReader = new StreamReader(dataStream);
String sResponseFromServer = tReader.ReadToEnd();
tReader.Close();
dataStream.Close();
tResponse.Close();
return sResponseFromServer;
}
نحوه بدست آوردن آی پی فرد استفاده کننده از سایت
برای بدست آوردن آی پی و مرورگر و خیلی اطلاعات دیگری که کاربر از سایت شما استفاده می کند میتوانیم با استفاده از یک دستور همه ی این موارد و موارد دیگر را بدست بیاوریم
برای گرفتن ای پی کاربر از دستور زیر استفاده میکنیم
Request.ServerVariables["REMOTE_ADDR"]
بطور مثال اگه بر روی صفحه چاپ کند از دستور زیر استفاده میکنیم
Response.Write(Request.ServerVariables["REMOTE_ADDR"])
برای اطلاعات تکمیلی تر و سایر متغییر ها می توانید به آدرس مرجع سایت مراجعه کنید
http://www.w3schools.com/asp/coll_servervariables.asp
ارسال ایمیل با استفاده از جیمیل Gmail و ایمیل گوگل
ابتدا باید وارد ایمیل خود شوید
سپس به آدرس زیر بروید
https://www.google.com/settings/security/lesssecureapps
و بعد از وارد شدن به این صفحه
بر روی Enable Less Secure Apps کلیک کنید تا بتوان از کدهای زیر استفاده کرد و در جریان ارسال ایمیل با مشکلی مواجه نشوید.
این کار را ما با استفاده از یک کلاس انجام می دهیم
public class MailSender
{
public static bool SendEmail(
string pGmailEmail,
string pGmailPassword,
string pTo,
string pSubject,
string pBody,
System.Web.Mail.MailFormat pFormat,
string pAttachmentPath)
{
try
{
System.Web.Mail.MailMessage myMail = new System.Web.Mail.MailMessage();
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpserver",
"smtp.gmail.com");
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpserverport",
"465");
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendusing",
"2");
//sendusing: cdoSendUsingPort, value 2, for sending the message using
//the network.
//smtpauthenticate: Specifies the mechanism used when authenticating
//to an SMTP
//service over the network. Possible values are:
//- cdoAnonymous, value 0. Do not authenticate.
//- cdoBasic, value 1. Use basic clear-text authentication.
//When using this option you have to provide the user name and password
//through the sendusername and sendpassword fields.
//- cdoNTLM, value 2. The current process security context is used to
// authenticate with the service.
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//Use 0 for anonymous
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendusername",
pGmailEmail);
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendpassword",
pGmailPassword);
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpusessl",
"true");
myMail.From = pGmailEmail;
myMail.To = pTo;
myMail.Subject = pSubject;
myMail.BodyFormat = pFormat;
myMail.Body = pBody;
myMail.BodyEncoding = System.Text.Encoding.UTF8;
if (pAttachmentPath.Trim() != "")
{
MailAttachment MyAttachment =
new MailAttachment(pAttachmentPath);
myMail.Attachments.Add(MyAttachment);
myMail.Priority = System.Web.Mail.MailPriority.High;
}
System.Web.Mail.SmtpMail.SmtpServer = "smtp.gmail.com:465";
System.Web.Mail.SmtpMail.Send(myMail);
return true;
}
catch (Exception ex)
{
throw;
}
}
}
حالا با استفاده از تابع زیر آن کلاس را فراخوانی می کنیم و از آن استفاده می کنیم.
MailSender.SendEmail("siros1368@gmail.com", "paswordEmail", "email to (maghsad)", "این موضوع ایمیل است", "در اینجا هم متن ایمیل را قرار میدهیم", System.Web.Mail.MailFormat.Text, Server.MapPath(@"/PicWeblog/footer.rar"));
اگر شما فایلی را برای پیوست کردن ایمیل نداشته باشید بخش آخر را "" بصورت رشته خالی قرار دهید
نحوه استفاده از الگوریتم AES برای رمز نگاری داده ها
در این بخش قصد داریم که با استفاده از الگوریتم رمزنگاری داده ها
به وسیله ی AES با استفاده از محیط برنامه نویسی C#این الگوریتم را پیاده سازی کنیم که این الگوریتم
با ارسال یک متن به صورت تکست دریافت میکند و کلیدی که به وسلیه ی آن
این متن کد شود. و در هنگام بازگشایی باید حتما آن کلید را داشته باشید.
این دو یوسینگ را ابتدا اضافه میکنیم
using System.Security.Cryptography;using System.IO;
Encryption
public byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes)
{
byte[] encryptedBytes = null;
// Set your salt here, change it to meet your flavor:
// The salt bytes must be at least 8 bytes.
byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize / 8);
AES.IV = key.GetBytes(AES.BlockSize / 8);
AES.Mode = CipherMode.CBC;
using (var cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(bytesToBeEncrypted, 0, bytesToBeEncrypted.Length);
cs.Close();
}
encryptedBytes = ms.ToArray();
}
}
return encryptedBytes;
}
و کد های زیر هم برای بازگشایی متن رمز شده به کار گرفته می شود.
Decryption
public byte[] AES_Decrypt(byte[] bytesToBeDecrypted, byte[] passwordBytes)
{
byte[] decryptedBytes = null;
// Set your salt here, change it to meet your flavor:
// The salt bytes must be at least 8 bytes.
byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize / 8);
AES.IV = key.GetBytes(AES.BlockSize / 8);
AES.Mode = CipherMode.CBC;
using (var cs = new CryptoStream(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(bytesToBeDecrypted, 0, bytesToBeDecrypted.Length);
cs.Close();
}
decryptedBytes = ms.ToArray();
}
}
return decryptedBytes;
}
یک مثال برای کد گذاری به وسیله الگوریتم AES
public string EncryptText(string input, string password)
{
// Get the bytes of the string
byte[] bytesToBeEncrypted = Encoding.UTF8.GetBytes(input);
byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
// Hash the password with SHA256
passwordBytes = SHA256.Create().ComputeHash(passwordBytes);
byte[] bytesEncrypted = AES_Encrypt(bytesToBeEncrypted, passwordBytes);
string result = Convert.ToBase64String(bytesEncrypted);
return result;
}
و یک نمونه از بازگشت رمز مورد نظر
public string DecryptText(string input, string password)
{
// Get the bytes of the string
byte[] bytesToBeDecrypted = Convert.FromBase64String(input);
byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
passwordBytes = SHA256.Create().ComputeHash(passwordBytes);
byte[] bytesDecrypted = AES_Decrypt(bytesToBeDecrypted, passwordBytes);
string result = Encoding.UTF8.GetString(bytesDecrypted);
return result;
}
توجه کنید که متن بالا با استفاده از حالت base64 کد کذاری خواهد شد.
و یک مثال برای رمز گذاری یک فایل
Encrypt File
public void EncryptFile()
{
string file = "C:\\SampleFile.DLL";
string password = "abcd1234";
byte[] bytesToBeEncrypted = File.ReadAllBytes(file);
byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
// Hash the password with SHA256
passwordBytes = SHA256.Create().ComputeHash(passwordBytes);
byte[] bytesEncrypted = AES_Encrypt(bytesToBeEncrypted, passwordBytes);
string fileEncrypted = "C:\\SampleFileEncrypted.DLL";
File.WriteAllBytes(fileEncrypted, bytesEncrypted);
}
و با استفاده از کد زیر برای بازگشایی فایل استفاده می شود.
Decrypt File
public void DecryptFile()
{
string fileEncrypted = "C:\\SampleFileEncrypted.DLL";
string password = "abcd1234";
byte[] bytesToBeDecrypted = File.ReadAllBytes(fileEncrypted);
byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
passwordBytes = SHA256.Create().ComputeHash(passwordBytes);
byte[] bytesDecrypted = AES_Decrypt(bytesToBeDecrypted, passwordBytes);
string file = "C:\\SampleFile.DLL";
File.WriteAllBytes(file, bytesDecrypted);
}
جلسه پنجم آشنایی با خواص ها در اچ تی ام ال (HTML Attributes)
مثال
<!DOCTYPE html>
<html lang="en-US">
<body>
<h1>My
First Heading</h1>
<p>My
first paragraph.</p>
</body>
</html>
در دو حرف مشخص کننده حرف اول مشخص کننده زبان (en) واگر هم گویشی داشته باشد.
حرف دوم مشخص کننده گویش (US) است.
خواص عنوان یا title:
پاراگراف ها در Html با تگ <p> تعریف می شوند.
در مثال زیر به تگ <p> یه خواص عنوان با عبارت " About projeraygan.blogfa.com " تعریف کرده ایم.
<p title="About projeraygan.blogfa.com">
About projeraygan.blogfa.com is a web developer's site.
It provides tutorials and references covering
many aspects of web programming,
including HTML, CSS, JavaScript, XML, SQL, PHP,
ASP, etc.
</p>
هر وقت موس را بروی پاراگراف حرکت دهید و نگه دارید عبارت تایتل ظاهر می شود.
خواص href یا خاصیت ها لینک
لینک ها در Html با تگ <a> مشخص شده و با خاصیت href آدرس اینترنتی آن مشخص می شود.
مثال :
<a href="http://www.projeraygan.blogfa.com ">This is a link</a>
در مورد این تگ در جلسه های بعدی بیشتر خواهیم گفت
خاصیت Size
عکس ها با تگ <img> تعیین می شوند.
و آدرس منبع و اصلی عکس هم به وسیله خاصیت (src) تعیین می شود.
و خاصیت ها (width) و (height) تعیین کننده سایز یا اندازه عکس هستند.
اندازه عکس به وسیله پیکسل تعیین می شوند
به طور مثال width="104" یعنی عرض عکس 104 پیکسل باشد.
در جلسه های بعدی در مورد تگ عکس بیشتر توضیح خواهیم داد.
خاصیت alt
وقتی که عکس رو یا هر چیزی دیگری رو توی صفحه بزاریم و زمانی مرورگر نتونست نشان دهد.
متن توی این خاصیت به جای عکس نشان داده خواهد شد.
مقدار این خاصیت قابلیت نمایش توسط مرور گر ها را دارد.
و به وسیله این خاصیب و با استفاده از بعضی برنامه ها افراد نابینا می توانند بدانند
که شما چه عکس یا چیزی را در این بخش قرار داده اید.
مثال
<img src="projeraygan.blogfa.com.jpg" alt="projeraygan.blogfa.com " width="104" height="142">
پیشنهاد ما : همیشه برای استفاده از نام خاصیت ها از حروف کوچک استفاده کنید.
در Html5 استفاده از حرووف کوچک الزامی نیست.
خاصیت عنوان را شما می توانید بصورت حروف کوچک یا بزرگ بنویسید مانند Title یا TITELE
البته ما توصیه کنیم که در Html4 و XHTML از حروف کوچک استفاده کنید
چون داری قانون سخت گیرانه تری هستند.
البته استفاده از حروف کوچک رایجتر است چون نوشتن آن استان است و
ما هم در تمامی مثال های این کتاب از حروف کوچک استفاده می کنیم.
پیشنهاد ما : همیشه از دابل کوتیشن در مقدار خاصیت ها استفاده کنید.
در استاندارد Html5 استفاده از دابل کوتیشن در مقدار خاصیت ها الزامی نیست.
مثال قبلی رو بصورت زیر هم میتونیم بنویسیم بدون کوتیشن
<a href=http://www.projeraygan.blogfa.com >
البته ما توصیه کنیم که در Html4 و XHTML از دابل کوتیشن استفاده کنید
چون داری قانون سخت گیرانه تری هستند.
گاهی وقت ها لازم است که شما از دابل کوتیشن استفاده کنید و گرنه ممکن است
نتیجه خوبی به دلیل فضای خالی بین نوشته ها مشاهده نکنید.
مثال :
<p title=About projeraygan.blogfa.com >
در مثال بالا فقط بخش اول کار یعنی About را نشان میدهد وقسمت دوم را نشان نمی دهد.
استفاده از دابل کوتیشن رایج است ولی اگر آن را حذف کنیم ممکن است با خطا مواجه شویم.
ما توصیه میکنیم که همیشه از دابل کوتیشن در مقدار خاصیت ها استفاده نمایید
تک کوتیشن یا دابل کوتیشن؟
استفاده از دابل کوتیشن در Html رایجتر است هرچند که ممکن است که تک کوتیشن
هم مورد استفاده قرار بگیرد
در اکثر جاها که به خاصیت ها یک مقدار می دهند آن را با دابل کوتیشن مشخص می کنند.
یا شاید لازم باشد که از تک کوتیشن استفاده کنند.
مثال
<p title='Siros "ShotGun" Babakhani'>
یا برعکس
<p title="Siros 'ShotGun' Babakhani">
خلاصه این جلسه:
· همه تگ های Html می توانند که خاصیت داشته باشند.
· خاصیت تایتل در تگ های Html به اطلاعات داده شده tool-tip اضافه میکند.
· و خاصیت href در لینک ها می توانست که آدرس را به ما نشان دهد.
· و خاصیت ها width و height اطلاعاتی در مورد اندازه عکس ها یا اشیا به ما می دهند.
· و خاصیت alt هم میتواند در مواقعی که عکسی نشان داده نمی شود متنی به جای آن نشان داده شود.
· و در این مجموعه آموزش ها ما همیشه از حروف کوچک در نام تگ ها استفاده میکنیم
· و همیشه در مقدر خاصیت ها هم از دابل کوتیشن استفاده می کنیم.
نحوه دانلود یک متن با استفاده از Asp.net
البته اولش باید از این یوزینگ استفاده کنیم
using System.Text;
StringBuilder sb = new StringBuilder();
string output = "siroos, si, babakhani,ba";
sb.Append(output);
sb.Append("\r\n");
string text = sb.ToString();
Response.Clear();
Response.ClearHeaders();
Response.AddHeader("Content-Length", text.Length.ToString());
Response.ContentType = "text/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("content-disposition", "attachment;filename=\"output.txt\"");
Response.Write(text);
Response.End();
که با استفاده از دستورات و قطعه کد های بالا امکان دانلود یک متن را در زبان برنامه نویسی Asp.net برای شما فراهم میکند و شما می توانید آن را بصورت یک فایل متنی Txt در کامپیوتر خود ذخیره نمایید.
نکته : تکه کد بالا فقط توانایی دانلود و ذخیره متن انگلیسی را دارد با استفاده از کد زیر شما میتوانید متن ها فارسی را هم در فایل متنی خود قرار دهید و آن را قابل دانلود برای کارهای خاصی نمایید.
دانلود یک فایل متنی فارسی با استفاده از Asp.net با زبان برنامه نویسی #C
ابتدا یوزینگ زیر را اضافه میکنیم.
using System.IO;
بعد تیکه کد زیر را به برنامه اضافه مکنیم تا امکان دانلود فراهم شود.
StringWriter oStringWriter = new StringWriter();
oStringWriter.WriteLine("siroos babakhani in tamrin/nخیلی ممنونم از اینکه این فایل را برای دانلود انتخاب کردید /n in tamrni anajm shod");
Response.ContentType = "text/plain";
Response.AddHeader("content-disposition", "attachment;filename=" + string.Format("txtfiles.txt"));
Response.Clear();
using (StreamWriter writer = new StreamWriter(Response.OutputStream, Encoding.UTF8))
{
writer.Write(oStringWriter.ToString());
}
Response.End();
با استفاده از تکه کد بالا امکان دانلود متن فارسی را در برنامه می توانید اضافه کنید.