View Full Version : جدول ها و فیلدهای داخل database
beginner_1395
پنج شنبه 06 خرداد 1395, 02:37 صبح
سلام
چگونه میتوان به نام جدول ها و فیلدهای داخل بانک اطلاعاتی را بدست اورد
مثلا اسم هرکدوم جدولها و اسم ستونهای داخلش رو لازم دارم
با تشکر
moradian
پنج شنبه 06 خرداد 1395, 11:50 صبح
سلام
اگه بخواین با OleDb باشه:
using System.Data;
using System.Data.OleDb;
OleDbConnection cn = new OleDbConnection();
OleDbCommand cmd = new OleDbCommand();
DataTable schemaTable;
OleDbDataReader myReader;
//Open a connection to the SQL Server Northwind database.
cn.ConnectionString = "Provider=SQLOLEDB;Data Source=server;User ID=login;
Password=password;Initial Catalog=Northwind";
cn.Open();
//Retrieve records from the Employees table into a DataReader.
cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM Employees";
myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
//Retrieve column schema into a DataTable.
schemaTable = myReader.GetSchemaTable();
//For each field in the table...
foreach (DataRow myField in schemaTable.Rows){
//For each property of the field...
foreach (DataColumn myProperty in schemaTable.Columns) {
//Display the field name and value.
Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());
}
Console.WriteLine();
//Pause.
Console.ReadLine();
}
//Always close the DataReader and connection.
myReader.Close();
cn.Close();
اگر هم SqlClient هست، کد زیر:
using System.Data;
using System.Data.SqlClient;
SqlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
DataTable schemaTable;
SqlDataReader myReader;
//Open a connection to the SQL Server Northwind database.
cn.ConnectionString = "Data Source=server;User ID=login;
Password=password;Initial Catalog=Northwind";
cn.Open();
//Retrieve records from the Employees table into a DataReader.
cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM Employees";
myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
//Retrieve column schema into a DataTable.
schemaTable = myReader.GetSchemaTable();
//For each field in the table...
foreach (DataRow myField in schemaTable.Rows){
//For each property of the field...
foreach (DataColumn myProperty in schemaTable.Columns) {
//Display the field name and value.
Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());
}
Console.WriteLine();
//Pause.
Console.ReadLine();
}
//Always close the DataReader and connection.
myReader.Close();
cn.Close();
موفق باشید
mrprestige
پنج شنبه 06 خرداد 1395, 12:35 عصر
سلام
چگونه میتوان به نام جدول ها و فیلدهای داخل بانک اطلاعاتی را بدست اورد
مثلا اسم هرکدوم جدولها و اسم ستونهای داخلش رو لازم دارم
با تشکر
سلام دوست من ، اول اینکه شما نگفتی که دیتابیست از چه نوعی هست (SQL , Access , Oracle ,...) من برای اینکه حجم پست زیاد نشه و اینکه در نظر میگیریم که دیتابیس شما SQL هست ( چون اغلب دوستان از این دیتابیس استفاده میکنن ) برات مثال از نوع SQL زدم خب در مرحله اول شما بیا در داخل کلاس ّForm ، کانکشن استرینگ خودتو معرفی کن
SqlConnection cn = new SqlConnection("کانکشن استرینگ");
بعد داخل یه کنترل ( مثلا Button ) این کد رو بنویس
cn.open();
SqlCommand cm = new SqlCommand("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES",cn);
using (SqlDataReader dr = cm.ExecuteReader())
{
listView1.Items.Clear();
while (dr.Read())
{
listView1.Items.Add((string)dr["TABLE_NAME"]);
}
cn.Close();
}
این کد برای نام جدولت بود .
و برای نام ستون های جدولت هم باز داخل کنترل مورد نظرت این کد رو بنویس
cn.open();
SqlCommand cm = new SqlCommand("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.TABLES WHRER TABLE_NAME='نام جدول مورد نظر'",cn);
using (SqlDataReader dr = cm.ExecuteReader())
{
listView1.Items.Clear();
while (dr.Read())
{
listView1.Items.Add((string)dr["COLUMN_NAME"]);
}
cn.Close();
}
پیروز و موفق باشی بازم سوالی برات پیش اومد من در خدمتم .
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.