2013-09-09 5 views
1

Я использую это, но я не могу подключиться DataBaseкак я могу подключиться к базе данных

conn1.Open(); 
    using (OracleCommand crtCommand = new OracleCommand); 
+0

Не знайте, как помочь вам, но я могу предоставить этот небольшой совет: измените название вашего вопроса. Я уверен, что большинство из нас каждый раз изменяет свой код. – Steve

+0

@Steve, Спасибо за совет! будет делать это – user2760129

+2

@ user2760129 Нет проблем, чтобы сделать его динамичным, определите 'предложение' как глобальное поле и где когда-либо в вашем коде вы извлекаете строки из своей базы данных, обязательно присвойте каждой строке' предложение', например это 'предложение = строка 1;' где 'string1' - это строка, которую вы только что извлекли. Если вам нужно больше объяснений, просто спросите без колебаний. – PurpleXenon

ответ

2

Чтобы сделать его динамичным использование этого;

string sentence = ""; 
    string formatprototype = "";//This will hold the string to be formatted. 
    string output=""; 

    public void SearchString() 
    { 
     string pattern = @".*[ ]+?[\""]{1}(?<String>[a-zA-Z0-9_]*)[\""]{1}[ ]+?MINVALUE[ ]*(?<MinValue>[-?\d]*)[ ]*MAXVALUE[ ]*(?<MaxValue>[\d]*)[ ]+?[INCREMENT]*[ ]+?[BY]*[ ]+?(?<IncrementBy>[\d]*)[ ]+?[START]*[ ]+?[WITH]*[ ]+?(?<StartWith>[\d]*)[ ]+?[CACHE]*[ ]+?(?<Cache>[\d]*)\s+?"; 
     Regex regex = new Regex(pattern); 
     Match match = regex.Match(sentence); 
     Group @string = match.Groups[1]; 
     Group minvalue = match.Groups[2]; 
     Group maxvalue = match.Groups[3]; 
     Group incrementby = match.Groups[4]; 
     Group startswith = match.Groups[5]; 
     Group cache = match.Groups[6]; 
     formatprototype = @"CREATE SEQUENCE ""{0}"" MINVALUE {1} MAXVALUE {2} INCREMENT BY {3} START WITH {4} CACHE {5} NOORDER NOCYCLE"; 
     if (minvalue.Value.StartsWith("-")) 
     { 
      output = string.Format(formatprototype, @string, minvalue, maxvalue, incrementby, maxvalue, cache); 
     } 
     else if (!minvalue.Value.StartsWith("-")) 
     { 
      output = string.Format(formatprototype, @string, minvalue, maxvalue, incrementby, minvalue, cache); 
     } 
     MessageBox.Show(output); 
    } 

Предположим, что SearchString() функция, в которой вы делаете это stuff.And убедитесь, чтобы назначить каждую строку, которая извлекается из базы данных, чтобы sentence .Try его и ответить, если он работал или нет.

+0

, если вы проверите мой «В моей базе данных у меня есть 3 последовательности, которые должны быть изменены ...». Мое каждое предложение меняется и как я могу заменить каждое предложение внутри метода string.Format, чтобы заставить его работать? – user2760129

+1

@ user2760129 Я обновил ответ, посмотрим, работает ли он сейчас. – PurpleXenon

+0

не работал :(Для каждого предложения моя строка меняется ... и она не работает с новой строкой ... потому что все еще одно и то же строковое значение внутри строки. Метод Format – user2760129

4

для подключения к Oracle из приложения

 string command = "Enter your command"; 
     OracleConnection orclecon; 
      orclecon = new OracleConnection(connection); 
    orclecon.Open(); 

использовать это для некоторых команд:

DataSet ds = new DataSet(); 
using (OracleDataAdapter Oda = new OracleDataAdapter(command, orclecon)) 
       { 
        Oda.Fill(ds); 
       } 

и использовать для вставки/обновления/удаления команды:

//used for Oracle command (insert,update,delete) if number of rows that affected >0 return true else return false 

using (OracleCommand orclcommand = new OracleCommand(command, orclecon)) 
         { 
          int n = orclcommand.ExecuteNonQuery(); 
          if (n > 0) 
           return true; 
          else 
           return false; 
        } 
    orclecon.Close(); 
Смежные вопросы