Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извеняюсь что много спрашиваю!
Я подключають к базе Access на ASP.NET. И если база открыта в MS Access, то при попытке запустить *.aspx страницу IIS выдает ошибку, мол немогу получить доступ к файлу так как он сейчас занят...
 
1. Будет ли такая ошибка когда несколько пользователей запустят страницу для просмотра базы и будут обращаться с запросами в нее?
 
2. И если например один пользователь в данным момент добавляет в базу новые данные с помощью aspx страниц, то смогут ли с базой работать остальные пользователи?
 
С MS SQL Server такого наверное небудет, но с ней никогда не работал и база уже есть в Access.

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 11:03 26-11-2007
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lihonosov
Цитата:
С MS SQL Server такого наверное небудет, но с ней никогда не работал и база уже есть в Access
Но можно ведь и преобразовать?

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 14:12 26-11-2007
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Но можно ведь и преобразовать?

Можно. А много ли кода прийдется переписывать или только строки подключения?

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 14:24 26-11-2007
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lihonosov  
Да вроде немного. Всё зависит, вообще-то, от логики, от базы. Глянь книгу Сеппы, там многое найдёшь.

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 15:06 26-11-2007
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov
Может базу Access правльно настроить? насколько помню там есть возможность выбора прав при подключении (в настройках - "владелец" или "пользователь").

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 12:17 27-11-2007
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Может базу Access правльно настроить? насколько помню там есть возможность выбора прав при подключении (в настройках - "владелец" или "пользователь").

А по-подробнее. Если можно? В каких настройках?
 
Поставил MSSQL, но когда запукаю страницу, то сразу ошибка буквально на первой строчке Что-то вроде "Не найдено SQL в System.Data", может нужно как-то связать IIS and MSSQL, моежт что-то как aspnet_regiis.exe -i, там есть aspnet_regsql.exe, пробовал запусскать ее с различными параметрами, но ничего не получилось!
Подскажите, кто знает, как настроить MSSQL чтобы использовать в IIS!

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 10:29 28-11-2007
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заменил везде в тексте SQL на Sql и ошибок с этим больше нет, но на другом застрял.
 
Решил все переделать на работу с Access.
 
Код:

Код:
<%@ Import Namespace="System.Data" %>    
<%@ Import Namespace="System.Data.OleDb" %>    
<%@ Import Namespace="System.Text"%>  
<html>  <script language="C#" runat="server">      
OleDbConnection myConnection;      
protected void Page_Load(Object Src, EventArgs E )      
{          
   string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";          
   strConnection += @"Data Source="+MapPath("pubs.mdb");          
   OleDbConnection myConnection=new OleDbConnection(strConnection);          
    if (!IsPostBack)              
       BindGrid();      
}    
public void AddAuthor_Click(Object sender, EventArgs E)      
{          
   if (au_id.Value == "" || au_fname.Value == "" ||au_lname.Value == "" || phone.Value == "")          
{            
   Message.InnerHtml = "ОШИБКА: Пустое значение не допустимо для полей Author ID, Name или Phone";            
   Message.Style["color"] = "red";            BindGrid();            return;          
}            
 
String insertCmd = "insert into Authors values (@Id, @LName, @FName, @Phone, @Address, @City,@State, @Zip, @Contract)";          
OleDbCommand myCommand = new OleDbCommand(insertCmd,myConnection);          myCommand.Parameters.Add(new OleDbParameter("@Id",OleDbType.VarChar, 11));          myCommand.Parameters["@Id"].Value = au_id.Value;          
myCommand.Parameters.Add(new OleDbParameter("@LName",OleDbType.VarChar, 40));          
myCommand.Parameters["@LName"].Value = au_lname.Value;          myCommand.Parameters.Add(new OleDbParameter("@FName",OleDbType.VarChar, 20));          
myCommand.Parameters["@FName"].Value = au_fname.Value;          myCommand.Parameters.Add(new OleDbParameter("@Phone", OleDbType.Char, 12));          myCommand.Parameters["@Phone"].Value = phone.Value;          
myCommand.Parameters.Add(new OleDbParameter("@Address",OleDbType.VarChar, 40));          
myCommand.Parameters["@Address"].Value = address.Value;          myCommand.Parameters.Add(new OleDbParameter("@City",OleDbType.VarChar, 20));          
myCommand.Parameters["@City"].Value = city.Value;          
myCommand.Parameters.Add(new OleDbParameter("@State",OleDbType.Char, 2));          myCommand.Parameters["@State"].Value = state.Value;          
 myCommand.Parameters.Add(new OleDbParameter("@Zip",OleDbType.Char, 5));          myCommand.Parameters["@Zip"].Value = zip.Value;          
myCommand.Parameters.Add(new OleDbParameter("@Contract",OleDbType.VarChar,1));          myCommand.Parameters["@Contract"].Value = contract.Value;            
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";          
strConnection += @"Data Source="+MapPath("pubs.mdb");          
OleDbConnection myConnection2=new OleDbConnection(strConnection);          
OleDbCommand myCommand2 = new OleDbCommand(insertCmd.ToString(), myConnection2);          
myCommand2.Connection.Open();          
try          
{              
   myCommand2.ExecuteReader();              
   Message.InnerHtml = "<b>Record Added</b><br>" + insertCmd.ToString();
}
catch(OleDbException e)
{              
   if (e.ErrorCode == 2627)                  
          Message.InnerHtml = "ОШИБКА: Запись с таким первичным ключом уже существует ";      
   else                  
          Message.InnerHtml = "ОШИБКА: Невозможно добавить запись,пожалуйста, убедитесь, что поля правильно заполнены";          
          Message.Style["color"] = "red";          
}          
    myCommand2.Connection.Close();          
    BindGrid();      
}  
public void BindGrid()        
{          
     string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";          
     strConnection += @"Data Source=" + MapPath("pubs.mdb");          
     OleDbConnection myConnection=new OleDbConnection(strConnection);          
     OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from Authors", myConnection);          
     DataSet ds = new DataSet();          
     myCommand.Fill(ds, "Authors");              
     MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView;          
     MyDataGrid.DataBind();      
}  
 
</script>  
<body style="font: 10pt verdana">    <form runat="server">      <h3><font face="Verdana">Inserting a Row of Data</font></h3>      <table width="95%">        <tr>          <td valign="top">            <ASP:DataGrid id="MyDataGrid" runat="server"              Width="700"              BackColor="#ccccff"               BorderColor="black"              ShowFooter="false"               CellPadding=3               CellSpacing="0"              Font-Name="Verdana"              Font-Size="8pt"              HeaderStyle-BackColor="#aaaadd"              MaintainState="false"            />          </td>          <td valign="top">            <table style="font: 8pt verdana">              <tr>                <td colspan="2" bgcolor="#aaaadd" style="font:10pt verdana">Add a New Author:</td>              </tr>              <tr>                <td nowrap>Author ID: </td>                <td style="width: 158px"><input type="text" id="au_id" value="000-00-0000" runat="server"></td>              </tr>              <tr>                <td nowrap>Last Name: </td>                <td style="width: 158px"><input type="text" id="au_lname" value="Doe" runat="server"></td>              </tr>                <tr nowrap>                <td>First Name: </td>                <td style="width: 158px"><input type="text" id="au_fname" value="John" runat="server"></td>              </tr>              <tr>                <td>Phone: </td>                <td style="width: 158px"><input type="text" id="phone" value="808 555-5555" runat="server"></td>              </tr>              <tr>                <td>Address: </td>                <td style="width: 158px"><input type="text" id="address" value="One Microsoft Way" runat="server"></td>              </tr>              <tr>                <td>City: </td>                <td style="width: 158px"><input type="text" id="city" value="Redmond" runat="server"></td>                                     </tr>              <tr>                <td>State: </td>                <td style="width: 158px">                  <select id="state" runat="server">                    <option>CA</option>                    <option>IN</option>                      <option>KS</option>                      <option>MD</option>                      <option>MI</option>                      <option>OR</option>                     <option>TN</option>                      <option>UT</option>                    </select>                </td>              </tr>              <tr>                <td nowrap>Zip Code: </td>                <td style="width: 158px"><input type="text" id="zip" value="98005" runat="server"></td>              </tr>              <tr>                <td style="height: 24px">Contract:</td>                <td style="height: 24px; width: 158px;">                  <select id="contract" runat="server">                    <option value="0">False</option>                    <option value="1">True</option>                  </select>                </td>              </tr>              <tr>                <td></td>                <td style="padding-top:15; width: 158px;">                  <input type="submit" OnServerClick="AddAuthor_Click" value="Add Author" runat="server">                </td>              </tr>              <tr>                <td colspan="2" style="padding-top:15" align="center">                  <span id="Message" MaintainState="false" style="font: arial 11pt;" runat="server"/>                </td>              </tr>            </table>            </td>        </tr>      </table>      </form>    </body>  </html>

Выдает ошибку после нажатия на кнопку (процедура public void AddAuthor_Click(Object sender, EventArgs E))
"ОШИБКА: Невозможно добавить запись,пожалуйста, убедитесь, что поля правильно заполнены";  
Подскажите в чем моя ошибка.

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 15:09 29-11-2007
Cosmo_vk



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lihonosov
Вот в этом:
Код:
String insertCmd = "insert into Authors values (@Id, @LName, @FName, @Phone, @Address, @City,@State, @Zip, @Contract)";            
OleDbCommand myCommand = new OleDbCommand(insertCmd,myConnection);          myCommand.Parameters.Add(new OleDbParameter("@Id",OleDbType.VarChar, 11));          myCommand.Parameters["@Id"].Value = au_id.Value;            
myCommand.Parameters.Add(new OleDbParameter("@LName",OleDbType.VarChar, 40));            
myCommand.Parameters["@LName"].Value = au_lname.Value;          myCommand.Parameters.Add(new OleDbParameter("@FName",OleDbType.VarChar, 20));          
myCommand.Parameters["@FName"].Value = au_fname.Value;          myCommand.Parameters.Add(new OleDbParameter("@Phone", OleDbType.Char, 12));          myCommand.Parameters["@Phone"].Value = phone.Value;            
myCommand.Parameters.Add(new OleDbParameter("@Address",OleDbType.VarChar, 40));            
myCommand.Parameters["@Address"].Value = address.Value;          myCommand.Parameters.Add(new OleDbParameter("@City",OleDbType.VarChar, 20));          
myCommand.Parameters["@City"].Value = city.Value;            
myCommand.Parameters.Add(new OleDbParameter("@State",OleDbType.Char, 2));          myCommand.Parameters["@State"].Value = state.Value;          
 myCommand.Parameters.Add(new OleDbParameter("@Zip",OleDbType.Char, 5));          myCommand.Parameters["@Zip"].Value = zip.Value;            
myCommand.Parameters.Add(new OleDbParameter("@Contract",OleDbType.VarChar,1));          myCommand.Parameters["@Contract"].Value = contract.Value;              
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";            
strConnection += @"Data Source="+MapPath("pubs.mdb");            
OleDbConnection myConnection2=new OleDbConnection(strConnection);            
OleDbCommand myCommand2 = new OleDbCommand(insertCmd.ToString(), myConnection2);        

Что Вы пытаетесь сделать с командой insertCmd.ToString() ведь она вам возвратит: то что вы указали: String insertCmd = "insert into Authors values (@Id, @LName, @FName, @Phone, @Address, @City,@State, @Zip, @Contract)"; А значения как у Вас будут подставляться? Ведь их Вы определяете совсем в другой команде myCommand. Поставьте брейкпойнт при объялвении myCommand2 и посмотрите что у вас дальше получается.

Всего записей: 59 | Зарегистр. 08-06-2007 | Отправлено: 08:57 01-12-2007
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Наступил на странные грабли при работе в нескольких доменах приложений. Никто не подскажет почему так происходит и что делать?
Имеется: VS, в ней солюшн и два проекта: Runner - компилится в приложение Windows Forms и TestAsm - компилится в dll. В обоих проектах по одной форме, на обоих формах по одному TextBox, у той, которая в Runner еще и кнопка.  
Код в форме Runner:

Код:
 
namespace Runner
{
    public partial class RunnerForm : Form
    {
        public RunnerForm()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            AppDomain dom = AppDomain.CreateDomain("OtherDomain");
            dom.Load(AssemblyName.GetAssemblyName("TestAssembly.dll"));
            TestAssembly.AssemblyForm f =
                (TestAssembly.AssemblyForm)dom.CreateInstanceFromAndUnwrap("TestAssembly.dll", "TestAssembly.AssemblyForm");
            f.Show();
        }
    }
}
 

В TestAsm пользовательского кода нет. Все настройки по умолчанию, нигде ничего не менялось и не дописывалось.
Проблема в том, что в форме, которая выполняется во втором домене приложения при вводе текста по-русски получается абракадабра:

Английский ввод в порядке. При этом если f.Show(); поменять на f.ShowDialog(); то все работает нормально.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 11:56 03-12-2007
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На стартовой странице у меня текстовое поле (<asp:TextBox>) и Выпадающий список (<asp:DropDownList>). В выпадающий список при открытии страницы заносятся значения из базы данных в текстовое поле ключевое слово для поиска. А также кнопка "НАЙТИ" (<asp:Button> со свойством PostBackUrl), после нажатия которой производится переход на другую страницу в которую должны передаться два значения: значение текстового поля и значения выбранного в выпадающем списке.
Как организовать передачу значений?
 
С текстовый полем делаю:
 
MyTextBox=(TextBox)Page.PrevivousPage.FindControl("MyTextBoxOnPrePage");
(точно код не помню, т.к. пишу по памяти)
 
Но после этого ничего в текстовом поле не появляется!
И где правильно производить такие операции (в каком участке кода)?

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 16:03 03-12-2007 | Исправлено: Lihonosov, 16:04 03-12-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Самый просто способо передача параметрами в строке.
Тоесть делаеш редирект на следующую страницу и добавляеш в конце строку типа  
"..../default.aspx?text1=из_твоего_текстБокса&text2=из_твоего_допдаунЛиста"
 
На той страничке на которую редиректишся на PageLoad делаеш например такое
string str1=Request.QueryString["text1"]!=null?Request.QueryString["text1"].ToString:"";
string str2=Request.QueryString["text2"]!=null?Request.QueryString["text2"].ToString:"";
 
Вот и все. Суть я думаю ясна.

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 17:13 03-12-2007
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Самый просто способо передача параметрами в строке.  
Тоесть делаеш редирект на следующую страницу и добавляеш в конце строку типа  
"..../default.aspx?text1=из_твоего_текстБокса&text2=из_твоего_допдаунЛиста"  
 
На той страничке на которую редиректишся на PageLoad делаеш например такое  
string str1=Request.QueryString["text1"]!=null?Request.QueryString["text1"].ToString:"";  
string str2=Request.QueryString["text2"]!=null?Request.QueryString["text2"].ToString:"";  
 
Вот и все. Суть я думаю ясна.

Спасибо! Буду пробовать!

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 18:13 03-12-2007
sdubovitsky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig
AppDomain dom = AppDomain.CreateDomain("OtherDomain");            
Assembly a = dom.Load(AssemblyName.GetAssemblyName("TestAssembly.dll"));
TestAssembly.AssemblyForm f = (TestAssembly.AssemblyForm)a.CreateInstance("TestAssembly.AssemblyForm");
f.Show();  
Вот так работает нормально... Пытаюсь накопать что не так с твоим вариантом.
 
На мой взгляд в твоем варианте либо не нужно загружать сборку в домен, либо надо не у домена вызывать метод CreateInstanceAndUnwrap, а у сборки CreateInstance (собственно код выше).

Всего записей: 22 | Зарегистр. 25-07-2006 | Отправлено: 00:33 04-12-2007 | Исправлено: sdubovitsky, 01:22 04-12-2007
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sdubovitsky

Код:
 
            Assembly asm = dom.Load(AssemblyName.GetAssemblyName("TestAssembly.dll"));
            TestAssembly.AssemblyForm f =
              (TestAssembly.AssemblyForm)asm.CreateInstance("TestAssembly.AssemblyForm", false);
 

Это означает, что экземпляр типа (форма) создается в том же домене приложения, что и вызывающая форма. А мне это нежелательно. Пишется приложение с возможностью динамической загрузки и выгрузки модулей расширения.
 
Мне удалось обойти эту ситацию путем создания во втором домене приложения отдельного потока, который становится основным потоком формы:

Код:
 
public class Runner : MarshalByRefObject
{
private void threadMethod()
{
     addInForm = new Form1();
     Application.Run(addInForm);
}
//...
public void Initialize()
{
   //...
   addInThread = new Thread(new ThreadStart(threadMethod));
}
}
 

Т.е. через AppDomain.CreateInstanceAndUnwrap создается не сама форма, а Runner, который при вызове Runner.Initialize() создает форму. Так даже лучше: подвесившийся модкль расширения не подвесит все приложение. Но теоретически вопрос остается интересным.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 10:42 04-12-2007 | Исправлено: BaluBig, 10:52 04-12-2007
sdubovitsky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BaluBig
Ступил. Да, форма поднимается в первом домене.
 
Кстати, если делать не Show, а ShowDialog - с русским будет все в порядке.

Всего записей: 22 | Зарегистр. 25-07-2006 | Отправлено: 14:32 04-12-2007
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sdubovitsky

Цитата:
Кстати, если делать не Show, а ShowDialog - с русским будет все в порядке.

Знаю, я об этом писал в первом посте. К сожалению, это неприемлимо. Так что прийдется на потоках...

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 15:56 04-12-2007
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
На той страничке на которую редиректишся на PageLoad делаеш например такое  
string str1=Request.QueryString["text1"]!=null?Request.QueryString["text1"].ToString:"";  
string str2=Request.QueryString["text2"]!=null?Request.QueryString["text2"].ToString:"";  

Все получилось только немного так:
string str1=Request.QueryString["text1"]!=null?Request.QueryString["text1"].ToString():"";
Скобочки добавил
 
И проблемка: когда передается рсский шрифт, то на следующей странице получаются квадратики, что может быть?

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 22:52 04-12-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov
Ну писал на скорую руку, завтыкал.  
Насчет квадратиков - указывай кодировку когда читаеш параметр.
Не помню точно как, посмотри в MSDN как указать кодировку в ToString()

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 09:19 05-12-2007
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Насчет квадратиков - указывай кодировку когда читаеш параметр.  
Не помню точно как, посмотри в MSDN как указать кодировку в ToString()

ОК! Спасибо.
 
Добавлено:
А как будет правильнее:
 
"..../default.aspx?text1="+myTextBox.Text+"&text2="+myDropDownList.Text;
 
или
 
text1=myTextBox.Text;
text2=myDropDownList.Text;
"..../default.aspx?text1&text2";
 
Про правильность написанного незнаю, потому что сейчас проверить возможности нет, поэтому если кто знает прошу ответить про правильность написанного мной и если есть еще какие-нибудь варианты прошу написать.

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 10:20 05-12-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov
Первый вариант правильный.
text1 - параметр, а содержимое myTextBox.Text - будет значение этого параметра.

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 10:31 05-12-2007 | Исправлено: Solnake, 10:32 05-12-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru