سلام
من طرز ساخت و کار با دیتابیس را نیاز دارم. توی تالار هم سرچ کردم ولی چیزی نبود مطالب توی اینترنت هم زیاد واسم مفهوم نبود. اگه کسی کمکم کنه ممنون می شم.
سلام
من طرز ساخت و کار با دیتابیس را نیاز دارم. توی تالار هم سرچ کردم ولی چیزی نبود مطالب توی اینترنت هم زیاد واسم مفهوم نبود. اگه کسی کمکم کنه ممنون می شم.
بانک SQL :
به طور خلاصه، روي منوی Project کليک کنيد و يک New Item از نوع Service-based Databse رو با یه اسم اضافه کنيد.
سپس در پنل سمت راست ( Server Explorer) در زيرمجموعه اين ديتابيس، روی Table کلیک راست کنید و Add New Table رو بزنید و یه جدول بسازید .
در بالای کد فرمتون دو تا Using انجام بدید :
using System.Data;
using System.Data.SqlClient;
یه دکمه ی Add روی فرم بزارید و کد زیر رو توش بنویسید :
05-11-2012 05-11-41 PM.png
سوالی دارید بپرسید.
ممنون از راهنمایی تون.
می شه بگید هر خط چه کارایی می کنه؟؟؟؟
خط 2و7 اجرا نمی شه چرا؟؟؟
برای نمایشش باید چکار کنم؟؟؟
این کد مشکلی نداره فکر کنم چون خط دو اسم برنامه رو نوشته شاید شما تغیر ندادی مثلا اینجا WindowsFormApplication1 و شما اسم پروژه خودت رو ننوشتی.
شایدم using ها رو انجام ندادی.....
خوب برای نمایشش باید چه کنم؟؟؟
اگه راهنماییم کنید ممنون می شم
سلام دوست عزیز ، امیدوارم حالتون خوب باشه ، برای یادگیری بانک های اطلاعاتی میتونین از تاپیک زیر شروع به یادگیری کنید :خوب برای نمایشش باید چه کنم؟؟؟
اگه راهنماییم کنید ممنون می شم
ADO.NET در دات نت
اگه تاپیک بالا رو به طور کامل مطالعه کنید میتونین به راحتی کار با بانک رو یاد بگیرین .
توضیح خطوط :
خط اول ) شما واسه اینکه با بانک ارتباط برقرار کنید به یک شی واسط نیاز دارین که این شی همون sqlConnection هست از اسمش پیداست که کار ارتباط با بانک رو انجام میده
خط دوم ) باید از طریق خصوصیت ConnectionString آدرس بانک رو به این شی ( sqlConnection ) نسبت بدین تا با بانک ارتباط برقرار کنه . ایشون اومده آدرس بانک رو داخل Setting ذخیره کردن . آموزش Setting رو در نمونه امضام ایجاد کردم میتونین مطالعش کنید.
خط سوم ) به سی شارپ گفته میخوام یک دستور رو روی بانک sql اعمال کنم.
خط چهارم ) از طریق این خط گفته میخوام دستور رو روی بانکی که از طریق همون sqlConnection تعیین کردین اعمال کنید.
خط پنجم ) دستور sql مورد نظر رو تعیین کردین که در اینجا نوع دستور Insert هست یعنی میخوام یک سطر رو در بانک ذخیره کنیم.
خط ششم ) از طریق این دستور دستور رو اعمال میکنیم.
خط هفتم ) پیغامی رو نشون میدیم که سطر مورد نظر به بانک اضافه شد.
خط هشتم ) کانکشن رو میبندیم ( بعد از هر باری که کانکشن باز شد باید کانکشن رو ببندید)
اگه سوالی داشتین میتونی به صورت پیغام خصوصی بپرسین.
موفق باشید
برای نمایش داده هایی که ذخیره کردید ، از پنل (سمت راست صفحه) ToolBox قسمت Data یه Object به نام Data Grid View بزارید روی فرمتون ، یه دکمه هم به فرمتون اضافه کنید ، داخل دکمه این کد رو بنویسید :
05-12-2012 11-37-56 AM.png
مقدار con.ConnectionString مسیر بانک شماست .
مقدار cmd.CommandText جایی هست که شما دستورای SQL رو مینویسید.
تابع Dispose() شئ هایی که اول همین کد نوشتید رو ، چون دیگه به اونها احتیاج ندارید از بین میبره.
بازم سوالی هست بپرسید.
زمان اجرای script خطا می گیرم ممنون می شم راهنمایی کنیدlogical consistency-based I/O error
در هنگام نصب ویژوال استودیو اگه تیک sqlExpress رو بزنین به طور خودکار نصب میشه ،
اگه یادتون رفته جای نگرانی نیست میتونین دوباره Setup رو اجرا کنین و روی گزینه ی Add new Feature تیک sqlExpress رو بزنین و نصب بشه
جناب vbBoss میشه اینو خودتون توی یه پروژه بنویسید بذارید.
اینا رو یه بار دیگه چک کنید ، اگه نشد برنامه رو بزارین روی سایت ( البته اگه میتونید !!! ) :
1) مقدار ConectionString کامل چک بشه . چون امکان داره بانکتون یه جای دیگه باشه و DataGrid آدرسش یه جا دیگه اشاره کنه . به اولین و آخرین پارامتر دقت کنید ( اولی اسم برنامتونه ، آخری اسم بانکی ک بهش وصل میشید تا اونو بخونه )
2)به مقدار اسکریپت CommandText دقت کنید . بیشتر روی نام Table .
سلام
شاید این pdf منبع خوبی باشه.
Ado.rar
namespace reza
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = global::reza.Properties.Settings.Default.Database1 ConnectionString;
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = " Insert Into table1 (ID,STUNUM)" + "Values (" + comboBox1.Text + ";" + comboBox2.Text + ")";
//cmd.ExecuteNonQuery();
MessageBox.Show("ADD SUCC");
con.Close();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
con.ConnectionString = global::reza.Properties.Settings.Default.Database1 ConnectionString;
cmd.Connection = con;
cmd.CommandText = "SELECT *FROM table1";
da.SelectCommand = cmd;
da.Fill(dt);
dataGridView1.DataSource = dt;
dt.Dispose();
da.Dispose();
cmd.Dispose();
{ { { con.Dispose();
ممنون می شم اگه مشکلشو بهم بگید
از همه دوستان ممنونم. مشکل من حل شد. اشتباهم توی اتصال دیتا گرید به دیتا بیسم بود.
ولی خوب اگه بخوام اطلاعاتم رو توی تکس باکس نشون بدم چی؟؟؟
سلام دوست عزیز ،
اگه منظورتون اینه که وقتی روی یک سطر از دیتاگرید کلیک میکنین کلیک کنید و اطلاعات سطر مورد نظر داخل تکست باکس نمایش داده بشه میتونین از خاصیت CurrentRow و Cells و value از دیتاگرید کمک بگیرین :
TextBox1.Text=DataGridView1.CurrentRow.Cells(0).Va lue.ToString()
(( کد بالا تبدیلی هست ممکنه به کوچیکی و به بزرگی اشکال بگیره اصلاحش کنید ببخشید))
واسه این که با سلکت کردن سطر از DataGrid مقدارش توی TextBox نمایش داده بشه ، باید اسطلاحا یه Map از جدول بسازید .
ینی اینکه :
1) یه کلاس بنویسید ( مثلا کلاس Table ) و اون رو به صورتی که توی شکل نشون داده شده مقدار دهی کنید .
05-14-2012 11-42-58 PM.png
نکته : کلاس حتما باید Public باشه.
توضیح : مقدار هایی که زیرشون خط کشیده شده ، همون فیلد های Table ی بانک هستن .
مقدار های Set و Get هم به خاطر اینه که هم بشه از این مقدارها خوند و هم بشه مقدار بهشون پاس کرد.
2)حالا یه Button روی فرم بزارید و یه TextBox. توی دکمه کد زیر رو بنویسید :
05-14-2012 11-51-55 PM.png
توضیح : tableR یه شئ از کلاس Table ، که مقدار ID رو که از DataGrid سلکت کردی رو میریزه توی TextBox.
سوالی هست بپرسید.
یعنی کسی نمی تونه به من کمک کنه؟؟؟
textBox1.Text = ds.Tables[1].Rows[اندیس]["name"];"اندیس" اندیس سطر ، "name" اسم یا اندیس ستون.
شما باید اول مشخص کنید که id مورد نظرتون در ds.Tables[1] در کدام سطره وقتی اندیس سطر رو بدست آوردید طبق پست 28 عمل کنید.
دو تا راه دارید. یکی اینکه با دستور سلکت جستجو در دیتابیس انجام بشه. یک راه هم اینه که از dataview استغاده کنید و دیتاتیبل مورد نظر از دیتاست رو بهش نسبت بدید و فیلتر رو روی این dataview اعمال کنید.
اول مشخص کنید چه راهی رو میخواهید انتخاب کنید. البته اگر پروژه دانشجویی هست باید از دیتابیس سلکت کنید.
فعلا این برای جستجو در دیتابیس:
https://barnamenevis.org/showthread.php?340305
یعنی از اساتید کسی نمی تونه کمک بکنه؟؟؟
SqlCommand cmd = new SqlCommand();
SqlConnection connection = new SqlConnection();
cmd.Connection = connection;
try
{
cmd.CommandText = "insert into tblname(name , lname , score) values(@name , @lname , @score)";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@name", textBox1.Text);
cmd.Parameters.AddWithValue("@lname", textBox2.Text);
cmd.Parameters.AddWithValue("@score", comboBox1.Text);
if (connection.State == ConnectionState.Closed)
connection.Open();
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
catch (Exception ex)
{
MessageBox.Show("در طی فرایند درج خطایی رخ داده است" + "\n" + ex.ToString());
}
finally
{
if (connection.State == ConnectionState.Open)
connection.Close();
}