Использовать переменную(ссылочного типа) из одного метода в другом - C#
Формулировка задачи:
Требуется вытащить из Buttoun1_Click переменную FB, что бы использовать в Start_Click, т.к у меня там идет запрос в бд и всякая магия.
(руками и кулаками не бьем, в книге Г.Шилдта не нашел я себе ответа);
p.s код весь писал я.
p.s.s Я всю жизнь писал на Delphi на C# 4-ый день работаю.
Или как вариант лучше создать отдельный класс, прописать весь коннект к базе и просто использовать)
Но, мне интересен первый способ.
public void button1_Click(object sender, EventArgs e)
{
// Подключение к Базе данных
// Антиламерская уловка
if ((Login.Text == "") | (pass.Text == "")) // проверяем ввод логина и пароля
{
MessageBox.Show("Введите логин и пароль!"); // оповещаем, что ламер - ламер! :3
}
else
{
try
{
FbConnection fb = new FbConnection("Charset=win1251;DataSource=127.0.0.1;Port=3051;" + "User=" + Login.Text + ";" + "Password=" + pass.Text + ";" + "Database=C:\\fssp\\db\\ncore-fssp-1.20.217.273.39.fdb;");
fb.Open();
cs.ForeColor = Color.Green;
cs.Text = "♥ Connect";
Log.Text = "Успешное подключение к базе данных, можете начать работу.";
}
catch (FbException)
{
MessageBox.Show("Извините вы не можете подключиться к базе данных:\n 1. Вы не правильно ввели логин и пароль.\n 2. У вас нет доступа к базе данных.\n 3. База данных отключена\n");
Log.Text = "Ошибка! Не удалось подключиться к базе данных.1. Вы не правильно ввели логин и пароль.\n 2. У вас нет доступа к базе данных.\n 3. База данных отключена\n ";
}
}
} private void Start_Click(object sender, EventArgs e)
{
string data;
FileStream fout;
if (S1.Checked == true)
{
FbCommand Select = new FbCommand("SELECT *FROM EXT_AVAILABILITY_ACC_DATA;", fb);
FbTransaction fbt = fb.BeginTransaction();
Select.Transaction = fbt;
////////////////
// считывалка с таблицы
FbDataReader reader = Select.ExecuteReader();
//куда записывать будем >.> ? а х точно
fout = new FileStream("C:\\123.txt", FileMode.Create);
// мутим трай и цикл вайл, пока идет считывание. все данные топают в DATA
try
{
while (reader.Read())
{
data = data + reader.GetInt64(0).ToString() + " | " + reader.GetString(1) + " | " + reader.GetString(2) + " | " + reader.GetString(3) + " | " + reader.GetString(4) + " | " + reader.GetString(5) + " | " + reader.GetString(6) + " | " + reader.GetString(7) +
"\n";
}
}
finally
{ ///////////////// записываем полученные данные и вырубаемся с транзикции
StreamWriter f_record = new StreamWriter(fout);
f_record.Write(data + "\n");
Console.ReadKey();
fbt.Commit();Решение задачи: «Использовать переменную(ссылочного типа) из одного метода в другом»
textual
Листинг программы
2
3
4
5
6
7
8
9
10
public static class Glbl
{
public static Scintilla scintilla1;
}
public partial class MainWindow : Window
{
public MainWindow()
{
Glbl.scintilla1 = (Scintilla)wfh.Child;
..............................................