PDA

View Full Version : سوال: ذخیره داده در دیتا بیس با asp



leila_eb
دوشنبه 30 تیر 1393, 12:44 عصر
سلام بچه ها کسی میتونه کمک کنه چطور داده هارو در دیتا بیس ذخیره کنم ...؟

public static bool AddNew(string Firstname,string Lastname,string Fathername)
{
try
{
SqlConnectiion cnn=new SqlConnection(Connection.GetConnect());
SqlCommand cmd=new SqlCommand();
cmd.Connection=cnn;
cnn.Open();
cmd.CommandText="NewSick";
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Firstname",Firstname);
cmd.Parameters.AddWithValue("@Lastname",Lastname);
cmd.Parameters.AddWithValue("@Fathername",Fathername);
cmd.ExecuteNonQuery();
cnn.Close();
cmd.Dispose();
return true;
}
catch
{

return false;
}

}

آیا این کد درسته ؟؟؟؟؟؟؟؟

parvizwpf
دوشنبه 30 تیر 1393, 13:35 عصر
درسته. آیا مشکلی داره؟ اگه خطا داره بگید خطاش چیه و به کدوم خط.

leila_eb
دوشنبه 30 تیر 1393, 14:14 عصر
درسته. آیا مشکلی داره؟ اگه خطا داره بگید خطاش چیه و به کدوم خط.




دو خط اول error داره

SqlConnectiion cnn=new SqlConnection(Connection.GetConnect());
SqlCommand cmd=new SqlCommand();

parvizwpf
دوشنبه 30 تیر 1393, 15:13 عصر
من گفتم که :

اگه خطا داره بگید خطاش چیه

sadegh.te
دوشنبه 30 تیر 1393, 15:23 عصر
سلام از این کلاس استفاده کن


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Globalization;


namespace AtlasIRAN
{
class connection1
{

public string db = @"Data Source=.;Initial Catalog=AtlasIran;Integrated Security=True";
public connection1()
{

}
public void connection2(string sql)
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = db;
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText = sql;

cn.Open();
cmd.ExecuteReader();
cn.Close();
}

public DataTable dt = new DataTable();

public void connection3(string sql)
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = db;
cn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText = sql;
SqlDataReader dr = cmd.ExecuteReader();
dt.Load(dr);
dt.Rows.Count.ToString();
cn.Close();
}



public DataSet ds;
public void dataset(string sql, string tbl)
{
SqlConnection cn = new SqlConnection(db);
SqlCommand cm = new SqlCommand(sql, cn);
cn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
ds = new DataSet();
ds.Clear();
da.Fill(ds, tbl);
}

}
}

f_g1348
دوشنبه 30 تیر 1393, 15:54 عصر
دوستان عزیز
یه مشکلی که اکثر برنامه نویسان تحت وب با اون روبه رو هستن استفاده از connection string و امنیت اونه . اگر برای اتصال به بانک از روش دوستمون (sadegh.te) استفاده کنیم نیازه که اولاً حداقل کلاس یا کدی رو که برای connection string داریم در اینجا صدا بزنیم که کار جالبی نیست در ثانی امنیت آنچنانی برای اون هم فراهم نکردیم
حالا اگه به جای این کارا از dataset استفاده کنیم اولاً کار راحتتره ، دوماً connection string درون webconfig قرارمیگیره و همه جا دردسترسه و ثالثاً با کد کردن webconfig امنیت رو بالا می بریم

leila_eb
دوشنبه 30 تیر 1393, 22:54 عصر
من این کد رو در قسمتی که رویTextBox دابل کلیک میکنم(handle میکنم) مینویسم شاید error ش برای همونه نمیدونم تو چ صفحه دیگه ای باید بنویسم ///
Error 1 Expected class, delegate, enum, interface, or struct C:\Users\leilaeb\Documents\Visual Studio 2012\WebSites\WebSite2\Controls\Register.ascx.cs 35 15 WebSite2



Error 4 Type or namespace definition, or end-of-file expected C:\Users\leilaeb\Documents\Visual Studio 2012\WebSites\WebSite2\Controls\Register.ascx.cs 52 1 WebSite2

leila_eb
دوشنبه 30 تیر 1393, 22:56 عصر
f_g1344 میشه نمونه کدش رو برام بزارید و بگید که تو چه صفحه ای باید بنویسم ؟

leila_eb
سه شنبه 31 تیر 1393, 11:46 صبح
کسی نیست آیا

LostOfMind
سه شنبه 31 تیر 1393, 13:28 عصر
سلام
اول اینکه در این خط غلط املایی وجود داره:


SqlConnectiion cnn=new SqlConnection(Connection.GetConnect());
SqlCommand cmd=new SqlCommand

LostOfMind
سه شنبه 31 تیر 1393, 13:31 عصر
در فایل web.config کانکشن رو بسازید و بعد بقیه جاها ازش استفاده کنید
مانند:


<connectionStrings>
<clear />
<add name="DataConnectionString" connectionString="Data Source=localhost;Initial Catalog=DBNAME;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>


بعد یه کلاس درست کنید و کد زیر رو درش قرار بدید:

public static SqlConnection _Conn = new SqlConnection(ConfigurationManager.ConnectionStrin gs["DataConnectionString"].ConnectionString);

و برای ذخیره در بانک میتونید از کد زیر استفاده کنید:

SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = _ConnectionString._Conn;
da.SelectCommand.CommandText = @"your code";
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("@parameter", "value");
if (_ConnectionString._Conn.State != ConnectionState.Open)
_ConnectionString._Conn.Open();
da.SelectCommand.ExecuteNonQuery();
if (_ConnectionString._Conn.State != ConnectionState.Closed)
_ConnectionString._Conn.Close();

f_g1348
سه شنبه 31 تیر 1393, 14:13 عصر
ابتدا روی پروژت راست کلیک کن و از گزینه ها روی add new item رو بزن و در صفحه باز شده یک dataset به پروژت اضافه کن
حالا روی server explorer کلیک کن و sqlserver رو بهش اضافه کن و بانکت رو متصل کن ( ابتدا در صفحه اول sql server رو بزن و بعد در صفحه ظاهر شده نام سرور و یوزر و پست و درنهایت نام بانکت رو بزن بعدشم ok کن )
حالا بانکت به پروژت اضافه شده
هر جدول یا ویوویی رو که می خواهی از بانک روی dataset بگیر و بنداز
روی هر جدولی که رد dataset قرار داره می تونی راست کلیک کنی و گزینه query رو بزنی حالا می تونی sp بسازی یا در خود dataset دستورات sql بریزی ( که پیشنهاد میشه sp بسازی )
یه جدول رو انتخاب کن و این مراحل رو برو ( حالت ویزاردی داره )
هر نوع query که بخوای می تونی انتخاب کنی و خودش در درست کردن بهت کمک می کنه
در نهایت با زدن finish کوئری شما آمادس ( فرض کنیم خواستی مثلاً یک کوئری insert بنویسی که پارامتر هم داره )
در صفحه asp.net وارد می شی و دو خط زیر رو اضافه می کنی



DataSet1.tlb11DataTable tlb11_datatable = new DataSet1.tlb11DataTable();
DataSet1TableAdapters.tlb11TableAdapter tlb11_tableadapter = new DataSet1TableAdapters.tlb11TableAdapter();



با این کار شما یک متغیر datatable داری و یک متغیر tableadapter
برای فراخوانی sp کافیه که نام متغیر tableadapter رو بزنی و یه نقطه بزاری و در لیست باز شو نام کوئری رو که در مرحله قبل ساختی انتخاب کنی و سپس با باز کردن پرانتز خودش ازت مقادیری رو که می خواهی به عنوان پارامتر پاس بدی می پرسه
این راه هم راحته هم امنه و هم یکپارچس و خود مایکروسافت هم برای برنامه های تحت وب اینو پیشنهاد میده
اگه سوالی بود درخدمتیم

leila_eb
سه شنبه 31 تیر 1393, 14:42 عصر
دوستان عزیز
یه مشکلی که اکثر برنامه نویسان تحت وب با اون روبه رو هستن استفاده از connection string و امنیت اونه . اگر برای اتصال به بانک از روش دوستمون (sadegh.te) استفاده کنیم نیازه که اولاً حداقل کلاس یا کدی رو که برای connection string داریم در اینجا صدا بزنیم که کار جالبی نیست در ثانی امنیت آنچنانی برای اون هم فراهم نکردیم
حالا اگه به جای این کارا از dataset استفاده کنیم اولاً کار راحتتره ، دوماً connection string درون webconfig قرارمیگیره و همه جا دردسترسه و ثالثاً با کد کردن webconfig امنیت رو بالا می بریم

gij shodam

in axo bebinid ...table ro koja bendazam daqiqan???
121405

mojtabaakhondy
جمعه 10 مرداد 1393, 09:12 صبح
سلام

فیلم آموزش asp.net و sql server به زبان فارسی بصورت پیشرفته را از این سایت دریافت کنید . برای من خیلی جالب بود عالیییییییی
راحت میتونید بعد دیدن این فیلمها سایت درست کنید با دیتابیس قوی

www.banke-maghalat.ir/page.php?id=81
http://banke-maghalat.ir/page.php?id=127