powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Базы данных (MS SQL server)...
4 сообщений из 4, страница 1 из 1
Базы данных (MS SQL server)...
    #32569290
Dr. Yes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть сервер MS SQL
Есть БД mydb
В БД есть табличка users (id, fname, lname, age)

Сам я в C# не работал с БД. SQL запросы умею формировать.
Вопрос такой: как заполнить двумерный массив mydata[m,n] результатом запроса к таблице т.е., например, нужно сделать запрос
Код: plaintext
SELECT * FROM users WHERE fname='john'
, результат которого должен заполнить мой двумерный массив mydata[m,n]:
Код: plaintext
1.
2.
3.
 11  john ivanov  13 
 45  john petrov  45 
 65  john sidorov  34 

Прошу не ругать меня за такие глупые вопросы и не посылать читать различные статьи. Мне просто нужен самый примитивный (но полный) код, который бы подключался к БД, делал запрос и результат запроса "запихивал" в двумерный массив.

Зарание благодарен!

P.S. Если это важно, то приложение консольное.

P.P.S. В самое ближайшее свободное время буду разбираться, как работать с БД, а сейчас мне действительно срочно нужен рабочий код, который позволял бы делать выборки из таблиц в двумерный массив.
...
Рейтинг: 0 / 0
Базы данных (MS SQL server)...
    #32569433
avg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Копни MSDN на тему SqlCommand и SqlReader
...
Рейтинг: 0 / 0
Базы данных (MS SQL server)...
    #32569510
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
---на сервере

create table users (id int, fname varchar(10), lname varchar(10), age int)


insert into users values(1,'john','ivanoff',10)
insert into users values(2,'john','petroff',20)
insert into users values(3,'john','sidoroff',30)
insert into users values(4,'Bill','Gates',999)
---в клиенте
using System;
using System.Data;
using System.Data.SqlClient;

namespace FillArray
{
class Sql
{


private static string conString=("Data Source=Inet;" +
"Initial Catalog=mydb;user id=<YOUR USER ID, например sa>;password=<USER PASSWORD>");
private SqlConnection sqlCon=new SqlConnection(conString);
private string paramVal;
public Sql(string _param)
{
this.paramVal=_param;
}


public void Connect() {sqlCon.Open();}
public void DisConnect() {sqlCon.Close();}
public SqlCommand CreateCommand()
{
SqlCommand comm=new SqlCommand("select * from users where fname=@fname",sqlCon);
SqlParameter param=comm.Parameters.Add("@fname",SqlDbType.VarChar,40);
param.Value=paramVal;
return comm;

}

}
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{

//здесь для данного случая подошел тип int
//для общего - лучше object
object[,]myArray=new object[100,2]; //вообщем то первый индекс массива
//кол-во записей в критерии отбора,
//надо его сделать достаточно "большим"
//т к DataReader'ом невозможно определить
//кол-во записей в критерии

Sql sql=new Sql("john"); //создем клаасс и передаем ему строку критерий
sql.Connect(); //коннектимся
SqlCommand comm=sql.CreateCommand(); //создаем команду с параметром
SqlDataReader r;
r=comm.ExecuteReader();

int firstIndexArray=0;
while (r.Read())
{
//заливаем массив значениями колонок id,age
myArray[firstIndexArray,0]=r["id"];
myArray[firstIndexArray,1]=r["age"];
firstIndexArray++;
}

r.Close();
sql.DisConnect();


if (firstIndexArray==0) return;
//распечатываем значения
for (int i=0;i<firstIndexArray;i++)
Console.WriteLine(myArray[i,0]+"\t"+myArray[i,1]);


}
}
}
...
Рейтинг: 0 / 0
Базы данных (MS SQL server)...
    #32569546
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
namespace FillArray
{
class Sql
{


private static string conString=("Data Source=Inet;" +
"Initial Catalog=mydb;user id=<YOUR USER ID, например sa>;password=<USER PASSWORD>");
****
****
}

Прошу прощения - в Data Source надо описывать инстанс своего сервера, просто забыл подтереть имя сервера на котором работал пример.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Базы данных (MS SQL server)...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]