Как я могу заставить LINQ к SQL использовать строку подключения, которая изменяется во времени выполнения?

var popupWindow=null;

function popup()
{
    popupWindow = window.open('child_page.html','name','width=200,height=200');
}

function parent_disable() {
if(popupWindow && !popupWindow.closed)
popupWindow.focus();
}

и затем объявляем эти функции в теге body родительского окна.

<body onFocus="parent_disable();" onclick="parent_disable();">

. Как вы и просили, полный HTML-код родительского окна

<html>
<head>
<script type="text/javascript">

var popupWindow=null;

function child_open()
{ 

popupWindow =window.open('new.jsp',"_blank","directories=no, status=no, menubar=no, scrollbars=yes, resizable=no,width=600, height=280,top=200,left=200");

}
function parent_disable() {
if(popupWindow && !popupWindow.closed)
popupWindow.focus();
}
</script>
</head>
<body onFocus="parent_disable();" onclick="parent_disable();">
    <a href="javascript:child_open()">Click me</a>
</body>    
</html>

Content из new.jsp ниже

<html>
<body>
I am child
</body>
</html>
7
задан 4 revs, 2 users 79% 19 June 2009 в 19:02
поделиться

3 ответа

Похоже, вы пытаетесь изменить строку подключения, которая хранится в файле app.config. Когда вы используете конструктор без аргументов для контекста данных, он читает то, что было настроено во время разработки.

Попробуйте ввести измененную строку подключения в конструктор DataContext:

ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["LoremIpsum"];
SqlConnectionStringBuilder builder;
LINQTOSQLDataClassDataContext db;

if (null != settings) 
{   
    string connection = settings.ConnectionString;  
    builder = new SqlConnectionStringBuilder(connection);

   // passwordTextBox being the control where joe the user actually enters his credentials

    builder.Password =passwordTextBox.Text;  
    db = new LINQTOSQLDataClassDataContext(builder.ConnectionString);
 } }
11
ответ дан 6 December 2019 в 08:45
поделиться

Вы можете заставить DataContext использовать определенную строку подключения с помощью

DataContext db = new DataContext(myConnectionString);

Конструктор DataContext без параметров будет использовать строку подключения из Сначала файл App.config , затем строка подключения, установленная во время компиляции.

4
ответ дан 6 December 2019 в 08:45
поделиться

Вы забываете отправить строку подключения в конструктор DataContext.

Пример:

LINQTOSQLDataClassDataContext db = new LINQTOSQLDataClassDataContext(builder.ConnectionString);
6
ответ дан 6 December 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: