Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   ASP: Все вопросы (http://forum.oszone.net/showthread.php?t=60554)

XCodeR 03-02-2006 19:08 400506

ASP: Все вопросы
 
стоит ли изучать или нет?...
кто знает, юзал, поделитесь мнением...

benya 03-02-2006 19:56 400510

Всего изучить нельзя. Стоит или нет - решать Вам. Лучше всего остановится на чем-то одном. Перебегание с одного на другое - зря время потеряете.
А вообще Unix сидит достаточно прочно и врядли в ближайшее время что-то изменится. Так что стоит изучать то, что изучали раньше. ;)


Underson 04-02-2006 13:38 400724

другая точка зрения... ASP.net мощная платформа, и он поволяет много чего делать очень интересного.... но за его возвожности нужно платить в прямом смысле слова, так как хостинги с Аспом стоят гораздо дороже... так что если ты планируешь найти какую нить высокооплачиваемую работу... в Москве или в за Границей то учи... если... просто освоить для того что бы знать ..то думаю не стоит...

кстати №1 чего собстно тут в Форуме ВЕБМАСТЕРУ совершенна не затронута тема программирования на ASP и ASP.net... надо как то начинать это дело... можно начать хотябы с летиратуры по АСПУ... и все такое...

Кстати №2 По моим данным в Америце... МИКРОСОФТ одержал абсолютную победу... тоесть говорил с парнем от туда... там даже по Dephi мало кто слышал... не говоря уже про PHP (ну я про обывателей есессено говорю...)

XCodeR 04-02-2006 16:49 400775

Цитата:

чего собстно тут в Форуме ВЕБМАСТЕРУ совершенна не затронута тема программирования на ASP и ASP.net.
а это отого, что в России не очень распространен(или распрастронена?) ASP, все довольствуются легким в изучении PHP...
Цитата:

там даже по Dephi мало кто слышал
Borland известен и используется в основном только в Европе... факт

Цитата:

в Москве или в за Границей то учи...
значит будем учить... полбому все изученной пригодиться на работе... к тому же это(связанной с ПК областью) скорее всего моя вторая профессия(работа)...
если из института не выпрут..=)

XCodeR 05-02-2006 15:17 403454

раз уж тему прикрепили, предлагаю, знающим людям "разложить по полочкам" ASP dot net: плюсы и минусы...
а я завтра - послезавтра пойду покупать book по данной теме, т.к. по e-manual'ам не привык обучаться...((

Underson 06-02-2006 12:17 403697

вот то что я нашёл в Сети...
Самоучитель по VB.Net
АСП в Работе
введение в АСП

XCodeR 08-02-2006 18:00 404525

книгу пока не купил....
да-с..... много у нас знатоков...

знающие, а не является ли ASP аналогом PHP?
под "аналогом", я подразумеваю взаимозаменяемые технологии...

E-mail 08-02-2006 19:20 404547

Xcode

.NET - под IIS MS
php perl - apache

XCodeR 08-02-2006 21:08 404583

E-mail
оно понятно... но если это все, то лучше я потрачу время на более перспектиную технологию....

mar 09-02-2006 12:29 404751

это не все - дот нет, это технология, которая позволяет писать кросс-языковые приложения под win (хотя и не только) - то есть не только под web. Так что вопрос, что считать более прогрессивной технологией :)

vadimiron 09-02-2006 13:04 404774

PHP-более распространён и любим в данный момент (так как является open source)
ASP-дитя microsoft-a и будет дальше развиваться в зависимости от развития самого microsoft-a. А так как уход с рынка microsoft-a в близжайшее время не намечается, то я думаю стоит ожидать определённого будущего развития данной технологии

В любом случае скриптовые языки типа ASP PHP JSP PERL очень легко учатся, и зная два из них, другие два уже без проблем доучиваются

Underson 10-02-2006 15:53 405218

причем стои понимать что АСП и АСП.NET... это очень разные весчи... первое это именно скриптовой язык а .net это целая технология.. по расказам очевидцев довольно мощная...которая позиционируется на скриптовом языке АСП... и серверных приложениях на vb.net, с++, С# и не только... а вот толковый учебник найти ни как не могу... все либо совсем в общих чертах либо для профи... :(

XCodeR 10-02-2006 19:51 405286

что знаю точно, что .NET для приколадного программирования не есть good, т.к. надстройка изначально есть только в WinXP, что значительно сокращает потенциальных пользрователей....

E-mail 10-02-2006 20:26 405293

Xcode простите, но что имеется ввиду под прикладным программированием? :)

XCodeR 11-02-2006 10:10 405395

E-mail
классика, ПП - это программирование, направленное на решение конкретных задач.
Впринципе, полнимается как программирование под определенную ОС, Windows-программирование.

Underson 11-02-2006 10:28 405397

Xcode АСП...актив сервер пейддж.. из названия следует что он не для этого... для этого оч хорошо пользовать VB или С++

все конечно хорошо но давайте попробуем перейти от словесов.. к действиям... для начала предлагаю обсудить установку, настройку и какойнить примерчик не сложный типа "Hell of World" и давайте массово попоробуем найти адекватную литературу для новичков по Сабжу

XCodeR 11-02-2006 19:57 405513


Underson
я говорил про возможности .NET, к примеру, для Windows

Vlad Drakula 12-04-2006 11:31 427151

суть последних творения майрософт:
1) .NET позволяет упростить создание приложений и снизить требования к их разработчикам + создавать более стабильные приложения, в замент теряем в производительности и увеличиваем требования к ресурсам
2) ASP.NET перевести в веб програмирование огромную армию системных програмистов с минимальными затратами на переобучение (в америке веб програмист уенится на много больше чем системный)

DRSTELS 17-08-2006 17:04 473621

лёгкий путь всегда доступен слабым и сильным тоже а наоборот уж нет!

ssdm 16-12-2006 22:50 525614

у меня есть Addison Wesley - Essential AspDotNet With Examples In C Sharp.chm и Premier Press - Microsoft ASP[1].Net Professional Projects.pdf... все на английском
ещё есть ASP.NET Step By Step - Examples.

Underson 06-07-2007 22:06 609411

блин через годчитаю свои посты такие умные слова говорил ажно завитки берут

vadimiron 11-10-2007 18:05 658622

Я на работе в данный момент начал программить на АСП.НЕТ и должен сказать: мне всё очень нравится.
Очень грамотно построенный Framework для создания веб приложений.

Есть конечно проблемы: Например поддержка других браузеров некоторыми компонентами, но это всё решаемые проблемы.

Если у кого то есть желание продолжить рассуждения по данной теме - я готов.

Lihonosov 22-11-2007 10:47 683212

Помогите разобраться с ASP
 
Установил IIS на Win2003
Вобщем хочу написать на ASP:
Хочу сделать страницу для поиска в базе данных Access (что-то наподобие Электронной библиотеки).
Есть страница на ней поле для ввода текста выпадающий список для выбора в каком разделе библиотеки искать (Педагогика, математика, информатика...) и кнопка "НАЙТИ",. после нажатия на которую должно вывести ниже таблицу с результатом поиска (какой-нибудь грид например).
И еще хочу потом написать страницу для ввода новых книг.
В ASP только начинаю разбираться. Если у кого-нибудь есть похожий пример очень прошу написать тут или в ПМ!!
Заранее спасибо.

BlackEric 22-11-2007 13:48 683315

В Visual Web Developer 2005 Express Edition есть неплохие примеры.
Где-то на сайте MS лежат неплохие презентации на тему ASP.NET
Есть немного примеров в MSDN.
Лучше сразу делать под ASP.NET 2.0. С 1.1 проюлем много.

Sham 23-11-2007 04:08 683720

Lihonosov, какой ASP? скриптовый или .NET?

Вообще лучше Вам установить PHP как расширение к IIS... PHP способен взаимодействовать с БД Access...

Lihonosov 23-11-2007 10:20 683798

Цитата:

Цитата Sham
какой ASP? скриптовый или .NET?
Вообще лучше Вам установить PHP как расширение к IIS... PHP способен взаимодействовать с БД Access... »

Хочу .NET!
А по поводу пхп - пример есть?

Нашел несколько примеров на ASP.NET & C# || VB, но когда запускаю IIS с этими примерами, он выдает ошибку:

The page cannot be displayed

You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow
programs to be executed.
____________________________________________________________________________________________________ ___________

Please try the following:
* Contact the Web site administrator if you believe this directory should allow execute access.

HTTP Error 403.1 - Forbidden: Execute access is denied.
Internet Information Services (IIS)
____________________________________________________________________________________________________ ___________

Technical Information (for support personnel)
* Go to Microsoft Product Support Services and perform a title search for the words HTTP and 403.
* Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled Configuring ISAPI
Extensions, Configuring CGI Applications, Securing Your Site with Web Site Permissions, and About Custom Error
Messages.
* In the IIS Software Development Kit (SDK) or at the MSDN Online Library, search for topics titled Developing
ISAPI Extensions, ISAPI and CGI, and Debugging ISAPI Extensions and Filters.



С ASP || IIS только начал разбираться, может у кого есть пошаговый мануал как его настроить, чтобы использовать страницы на ASP.NET C# || ASP.NET VB?

vadimiron 23-11-2007 20:12 684198

Lihonosov,
на ASP.NET это легко сделать.
Работа такая же, что и с обычними базами.
Надо составить правильный ConnectionString. Воспользоваться OleDBConnection для соединения. Ну а всё остальное как обычно в NET-Framework-e.

И PHP здесь не нужен - если только у вас не весь проект на PHP.

Скажите, что вам не понятно из этой схемы, и будем дальше разбираться

Установка ASP.NET

Lihonosov 26-11-2007 09:55 685312

Цитата:

Цитата vadimiron
Скажите, что вам не понятно из этой схемы, и будем дальше разбираться »

Все получилось, но есть один вопрос:
У меня при открытии страницы заполняется dropdownlist из базы данных и сразу сортируется. Когда пишу в текстовом поле строку запроса, а в выпадающем списке выберают тему поиска, результат отображается ниже в гриде - все это получилось и работает, но есть одно НО после запроса в выпадающем списке не сохраняется результат выбора темы, а снова сортируется и отображается самый первый. Т.е. как сделать чтобы после выбора темы в выпадающем списке отображаласьта тема, которую я выбрал перед поиском?
Надеюсь вопрос понятен.

vadimiron 26-11-2007 11:20 685374

Lihonosov,

После выбора Вы знаете, какой элемент из списка был выбран, поэтому нужно поставить свойство "selected" этого элемента на true, и тогда этот элемент отобразится как выбранный.
Или же у DropDownList-a тоже есть свойство SelectedItem вроде - с ним тоже можно поиграться

Если же надо результат на многих страницах сохранять, а не только на той, что сразу после выбора идёт, то здесь нужно сохранять выбранный элемент в сессии

Lihonosov 26-11-2007 12:06 685412

Цитата:

Цитата vadimiron
Если же надо результат на многих страницах сохранять, а не только на той, что сразу после выбора идёт, то здесь нужно сохранять выбранный элемент в сессии »

А есть пример кода сохранения сессии?

vadimiron 26-11-2007 12:28 685426

Lihonosov,
Почитайте о сохранении данных здесь

А вообще советую вот эти уроки - я из них во многом разобрался

Lihonosov 26-11-2007 12:40 685434

Я подключають к базе Access на ASP.NET. И если база открыта в MS Access, то при попытке запустить *.aspx страницу IIS выдает ошибку, мол немогу получить доступ к файлу так как он сейчас занят...

1. Будет ли такая ошибка когда несколько пользователей запустят страницу для просмотра базы и будут обращаться с запросами в нее?

2. И если например один пользователь в данным момент добавляет в базу новые данные с помощью aspx страниц, то смогут ли с базой работать остальные пользователи?

С MS SQL Server такого наверное небудет, но с ней никогда не работал и база уже есть в Access.

vadimiron 26-11-2007 13:25 685473

Lihonosov,
Для меня это пока тоже не решённая проблема. Я надеюсь, меня не будут заставлять долго работать с Access-ом, так как он не подходит в качестве базы для веб разработок.

Проблема состоит в том, что Access допускает только одно пишущие соединение или несколько читающих.
То есть, несколько людей смогут подсоединяться только с правами на чтение (для этого вроде можно поставить Mode=Read; в ConnectionString). Если какойто юзер открывает базу с правами на запись и изменение, то база блокируется для всех остальных.

С MSSQL конечно, такого не произойдёт. Там нормальное управление конкурентными соединениями.

Дополнительная инфа:
статья
обсуждение

Lihonosov 26-11-2007 14:22 685521

Цитата:

Цитата vadimiron
Проблема состоит в том, что Access допускает только одно пишущие соединение или несколько читающих.
То есть, несколько людей смогут подсоединяться только с правами на чтение (для этого вроде можно поставить Mode=Read; в ConnectionString). Если какойто юзер открывает базу с правами на запись и изменение, то база блокируется для всех остальных.
С MSSQL конечно, такого не произойдёт. Там нормальное управление конкурентными соединениями. »

Я сейчас пишу для работы с Access т.к. нуждно скорее дописать проект и потому что с MSSQL не знаком.
А чтобы потом перейти с Access на MSSQL нужно будет много переписывать или только строки подключения?

vadimiron 26-11-2007 14:53 685547

Цитата:

Цитата Lihonosov
А чтобы потом перейти с Access на MSSQL нужно будет много переписывать или только строки подключения? »

Нет, не много.
Строки подключения + пара классов для подсоединения, например SqlConnection или SqlDataReader вместо OleDB....
Если держите подключение к базе данных центрально, а не в каждом куске кода заново тоже самое пишете, то проблем больших не должно возникнуть

Lihonosov 26-11-2007 15:06 685555

Цитата:

Цитата vadimiron
Нет, не много.
Строки подключения + пара классов для подсоединения, например SqlConnection или SqlDataReader вместо OleDB....
Если держите подключение к базе данных центрально, а не в каждом куске кода заново тоже самое пишете, то проблем больших не должно возникнуть »

А в настройках IIS нужно что-то прописывать для работы с MSSQL или просто в коде указать классы и строки подключения и все???
Я там видел где-то в настройках что-то наподобие "СТРОКА ПОДКЛЮЧЕНИЯ ПО УМОЛЧАНИЮ" и там прописана какая-то строка подключения к MSSQL!

vadimiron 26-11-2007 15:44 685586

Цитата:

Цитата Lihonosov
Я там видел где-то в настройках что-то наподобие "СТРОКА ПОДКЛЮЧЕНИЯ ПО УМОЛЧАНИЮ" и там прописана какая-то строка подключения к MSSQL! »

Это опция, но необходимость
Можно в web.config-e прописать все нужные строки подключения и раздать им имена и тогда в коде использовать эти строки просто по именам, что в общем то очень удобно. И таким образом вы определяете строку подключения один раз, и не надо везде в коде по 10 раз вносить изменения, если чтото изменилось, так как достаточно одного изменения в конфиге

Цитата:

Цитата Lihonosov
А в настройках IIS нужно что-то прописывать для работы с MSSQL »

Нет, ничего не надо. Просто используйте классы для подключения.

Lihonosov 26-11-2007 15:48 685589

vadimiron
Спасибо Вам большое!!! На сегодня все вроде понятно! Буду пробовать, если что неполучиться - буду спрашивать!

Lihonosov 28-11-2007 10:31 686494

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

vadimiron 28-11-2007 12:15 686579

Lihonosov,
Об этом можно здесь почитать.

Но честно говоря, я никогда ничего подобного не делал - можно просто подсоединятся к базе данных как обычно

Давайте Ваш код посмотрим, в котором Вам не удаётся подсоединится

Lihonosov 28-11-2007 16:43 686742

Я взял пример с realcoding.net :

Код:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>  //На этой строке выдает описанную выше ошибку
<%@ Import Namespace="System.Text"%>
<html>
<script language="C#" runat="server">
    SQLConnection myConnection;
    protected void Page_Load(Object Src, EventArgs E )
    {
        myConnection = new SQLConnection
                    ("server=localhost;uid=sa;pwd=;database=pubs");
        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)";
        SQLCommand myCommand = new SQLCommand(insertCmd,
                                                    myConnection);
        myCommand.Parameters.Add(new SQLParameter("@Id",
                                        SQLDataType.VarChar, 11));
        myCommand.Parameters["@Id"].Value = au_id.Value;
        myCommand.Parameters.Add(new SQLParameter("@LName",
                                        SQLDataType.VarChar, 40));
        myCommand.Parameters["@LName"].Value = au_lname.Value;
        myCommand.Parameters.Add(new SQLParameter("@FName",
                                        SQLDataType.VarChar, 20));
        myCommand.Parameters["@FName"].Value = au_fname.Value;
        myCommand.Parameters.Add(new SQLParameter("@Phone",
                                          SQLDataType.Char, 12));
        myCommand.Parameters["@Phone"].Value = phone.Value;
        myCommand.Parameters.Add(new SQLParameter("@Address",
                                        SQLDataType.VarChar, 40));
        myCommand.Parameters["@Address"].Value = address.Value;
        myCommand.Parameters.Add(new SQLParameter("@City",
                                        SQLDataType.VarChar, 20));
        myCommand.Parameters["@City"].Value = city.Value;
        myCommand.Parameters.Add(new SQLParameter("@State",
                                            SQLDataType.Char, 2));
        myCommand.Parameters["@State"].Value = state.Value;
        myCommand.Parameters.Add(new SQLParameter("@Zip",
                                            SQLDataType.Char, 5));
        myCommand.Parameters["@Zip"].Value = zip.Value;
        myCommand.Parameters.Add(new SQLParameter("@Contract",
                                          SQLDataType.VarChar,1));
        myCommand.Parameters["@Contract"].Value = contract.Value;

        SQLConnection myConnection = new SQLConnection
                ("server=localhost;uid=sa;pwd=;database=pubs");
        SQLCommand myCommand = new SQLCommand(insertCmd.ToString(),
                              myConnection);
        myCommand.ActiveConnection.Open();

        try
        {
            int rowsAffected = 0;
            myCommand.Execute(ref rowsAffected);
            Message.InnerHtml = "<b>Record Added</b><br>" +
                                insertCmd.ToString();
        }
        catch (SQLException e)
        {
            if (e.Number == 2627)
                Message.InnerHtml = "ОШИБКА: Запись с таким первичным
                                    ключом уже существует ";
            else
                Message.InnerHtml = "ОШИБКА: Невозможно добавить запись,
                                  пожалуйста, убедитесь, что поля правильно заполнены";
            Message.Style["color"] = "red";
        }
        myCommand.ActiveConnection.Close();

        BindGrid();
    }

public void BindGrid()
    {

        SQLConnection myConnection = new SQLConnection
                  ("server=localhost;uid=sa;pwd=;database=pubs");

        SQLDataSetCommand myCommand = new SQLDataSetCommand("select
                                    * from Authors", myConnection);

        DataSet ds = new DataSet();
        myCommand.FillDataSet(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><input type="text" id="au_id" value="000-00-0000"
                                          runat="server"></td>
            </tr>
            <tr>
              <td nowrap>Last Name: </td>
              <td><input type="text" id="au_lname" value="Doe"
                                                runat="server"></td>
            </tr> 
            <tr nowrap>
              <td>First Name: </td>
              <td><input type="text" id="au_fname" value="John"
                                                runat="server"></td>
            </tr>
            <tr>
              <td>Phone: </td>
              <td><input type="text" id="phone" value="808 555-5555"
                                                runat="server"></td>
            </tr>
            <tr>
              <td>Address: </td>
              <td><input type="text" id="address" value="One
                                Microsoft Way" runat="server"></td>
            </tr>
            <tr>
              <td>City: <td>
              <td><input type="text" id="city" value="Redmond"
                                                runat="server"></td>
            </tr>
            <tr>
              <td>State: </td>
              <td>
                <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><input type="text" id="zip" value="98005"
                                                runat="server"></td>
            </tr>
            <tr>
              <td>Contract:</td>
              <td>
                <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">
                <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>

Пробовал переделать код на работу с OleDb

System.Data.SQL => System.Data.OleDB
SQLConnection =>OleDbConnection
...
Пишу дома, а интернет на работе
MSDN дома нет, и посмотреть аналоги немогу
Например, на одном из примеров застрял на SQLExecuteQuery - какой аналог этой функции в OleDb?

Нужно написать модуль для редактирования и добавления в базе данных!

Есть примеры, но они для работы с MSSQL! Поэтому и решил поставить MSSQL.

vadimiron 28-11-2007 17:13 686758

Оформляйте код пожалуйста тегами форума

Попробуйте вот этот код для считавыния из Access-a

Код:

string ConnectionString="Строка подсоединения";
string strSQL = "SELECT * FROM [Имя Таблицы]";
OleDbConnection DBConnection = new OleDbConnection(ConnectionString);

            try
            {
                DBConnection.Open();

                OleDbCommand cmd = new OleDbCommand(strSQL, DBConnection );

                //Execute SELECT
                OleDbDataReader dr = cmd.ExecuteReader();


                //Get Rows               
                while (dr.Read())
                {
                    string output=dr["Имя Столбца"].ToString();
                    Console.WriteLine(output);
                }

                dr.Close();

            }
            catch (Exception ex)
            {               
                Console.WriteLine("Error: " + ex.Message);
            }


Lihonosov 28-11-2007 17:29 686765

Цитата:

Цитата vadimiron
Оформляйте код пожалуйста тегами форума »

ОК!
На другом форуме прочитал такое:
Цитата:

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

vadimiron 28-11-2007 17:36 686767

Lihonosov,
Честно говоря, не знаю. База к которой я подключаюсь, не мной ведётся. Мне просто дали пароль и Логин и показали, где она лежит.

Для тестов я создавал для себя сам базу. Без всяких паролей и тд. Попробуйте тоже так. Создайте новую Access-базу. Там одну таблицу с парой столбцов и парой записей. И попробуйте поконектиться к ней

Lihonosov 28-11-2007 17:43 686770

Цитата:

Цитата vadimiron
Для тестов я создавал для себя сам базу. Без всяких паролей и тд. Попробуйте тоже так. Создайте новую Access-базу. Там одну таблицу с парой столбцов и парой записей. И попробуйте поконектиться к ней »

Я разобрался как получать данные и выводить их, например в DataGrid. С поиском и последущим выводом тоже. Теперь нужно добавлять и удалять записи, тут застрял!

А еще вопрос, мне хотелось бы чтобы когда, пользователь ввел слово поиска и ему вывелись результаты в DataGridе, то искомое слово было везде выделено другим цветом!
Может знаете как это реализовать? Ссылка или пример?

vadimiron 28-11-2007 18:49 686805

Посмотрите здесь - вроде то. (Я сам не пробЫвал)

Lihonosov 29-11-2007 11:48 687127

Цитата:

<%@ Import Namespace="System.Data.SQL" %>
Заменил везде в тексте SQL на Sql и ошибок с этим больше нет, но на другом застрял.

Решил все переделать на работу с Access.

Код:

<%@ Page Language="C#" Debug="true" %>
 <%@ 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))
"ОШИБКА: Невозможно добавить запись,пожалуйста, убедитесь, что поля правильно заполнены";
Подскажите в чем моя ошибка.

vadimiron 29-11-2007 21:17 687439

Проблема в том, что та ошибка, которую вы указали - это совсем не та ошибка, которая по правде возникает
Читайте, что пишут сами Exceptions

То есть вместо...
Код:

if (e.ErrorCode == 2627)               
 Message.InnerHtml = "ОШИБКА: Запись с таким первичным ключом уже существует ";              else                 
Message.InnerHtml = "ОШИБКА: Невозможно добавить запись,пожалуйста, убедитесь, что поля правильно заполнены";

....используйте лучше сообщение самого Exception
Код:

Message.InnerHtml=e.Message;
Таким образом, вы сможете суть ошибки быстрей понять. По крайней мере пока пишите и тестируете программу - Потом конечно, вы можете вывод ошибок для пользователя украсить, но во вряме разработки надо читать оригинальное сообщение

Lihonosov 30-11-2007 10:56 687692

У Вас есть пример кода для записи и изменения данных в Access? Буду очень благодарен!

Сейчас работаю над выделением искомых слов, как только сделаю, то могу выложить примери на C#, если нужно.

vadimiron 02-12-2007 17:33 688984

Lihonosov,
Начните с самого простого (без использования параметров)
Код:

string strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\\mcTest.MDB";
string strSQL = "INSERT INTO Developer(Name, Address ) VALUES('NewName', 'NewAddress')" ;
// create Objects of ADOConnection and ADOCommand
OleDbConnection myConn = new OleDbConnection(strDSN);
OleDbCommand myCmd = new OleDbCommand( strSQL, myConn );
try
{
myConn.Open();
myCmd.ExecuteNonQuery();
}
catch (Exception e)
{
Console.WriteLine("Error: \n{0}", e.Message);

finally
{
myConn.Close();
}

Примерно такое проходит?? Получается записать данные?

Lihonosov 03-12-2007 09:52 689366

Цитата:

Цитата vadimiron
myCmd.ExecuteNonQuery(); »

Сегодня вечером проверю, но раньше в других примерах везде, где была ExecuteNonQuery() у меня на ней вылетала ошибка, что мол ExecuteNonQuery() не определена (точно не помню точного описания ошибки, как попробую напишу если вылетит).
Какое пространство имен нужно включать, чтобы ее использовать, достаточно ли System.Data и System.Data.OleDb?

И еще:
На стартовой странице у меня текстовое поле (<asp:TextBox>) и Выпадающий список (<asp:DropDownList>). В выпадающий список при открытии страницы заносятся значения из базы данных в текстовое поле ключевое слово для поиска. А также кнопка "НАЙТИ" (<asp:Button> со свойством PostBackUrl), после нажатия которой производится переход на другую страницу в которую должны передаться два значения: значение текстового поля и значения выбранного в выпадающем списке.
Как организовать передачу значений?

С текстовый полем делаю:

MyTextBox=(TextBox)Page.PrevivousPage.FindControl("MyTextBoxOnPrePage");
(точно код не помню, т.к. пишу по памяти)

Но после этого ничего в текстовом поле не появляется!
И где правильно производить такие операции (в каком участке кода)?

Lihonosov 05-12-2007 12:23 690965

С передачей сделал так:

"..../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():"";

Теперь хочу сделать такое:

Когда пользователь наводит мышку на строку в DataGrid:
1. Строка меняла фоновый цвет
2. Если пользователь задержал курсор над ней более трех секунда, то выплыла бы всплывающая подсказка, которая брала бы данные из базы данных.
Подскажите!

vadimiron 05-12-2007 12:50 690996

к 1: Посмотрите здесь или здесь
к 2: здесь без AJAX-а не обойтись. Я вам советую сначало поискать уже чтото готовое. В инете можно найти готовые DataGrid c большим количеством разных функций. Может чтото подойдёт...

Lihonosov 05-12-2007 15:26 691135

Цитата:

Цитата vadimiron
к 1: Посмотрите здесь или здесь »

Спасибо получилось! :-)

Lihonosov 06-12-2007 12:23 691723

Есть на страничке три RadioButton от выбора которых зависит формирование свойства PostBackUrl кнопка "НАЙТИ"
Например,

Если выбран первый RadioButton, то PostBackUrl="SearcArticle.aspx?text1="+myTextbox.Text;
Если выбран второй RadioButton, то PostBackUrl="SearcBook.aspx?text1="+myTextbox.Text;
Если выбран третий RadioButton, то PostBackUrl="ХОЧУ ЧТОБЫ значение myTextbox.Text передавалось в поиск www.google.com.ua" - (1)

В свойствах всех RadioButton определил OnRadioButton_checked и поставил AutoPostBack=true чтобы значение PostBackUrl изменялось при изменении выбора RadioButton.
И по умолчанию первый установил в CHECKED=true, а также PostBackUrl="SearcArticle.aspx?text1="+myTextbox.Text;

Но если выбрать сначала значение RadioButton, а потом написать что-нибудь в текстовом поле, и нажать кнопку "НАЙТИ"? то значение из текстового поля в PostBackUrl соответственно не попадет! - (2)

Может все можно сделать проще: возможно ли так: В свойствах Button определить параметр OnClicked в реализации функции которой проверялось состояние всех RadioButton, TextBox и формировалась PostBackUrl, после сформирования которой был произведен переход на значение сформированного PostBackUrl. Т.е. как можно совметить OnClicked и PostBackUrl? (3)

Постарался как можно подробнее объяснить суть :-)

Server 27-04-2008 22:22 790431

Ребята, не кидайте помидорами, если подобное уже обсуждалось. Просто никак не могу разрулить грабли на которые наступил.

Есть такой код:
Код:

<form id="Form1" runat = server>
  <asp:ListBox ID = "JudgesList" runat = server Height = "250px" Width = "100%" SelectionMode = "Multiple" OnSelectedIndexChanged="JudgesList_SelectedIndexChanged" AutoPostBack="True"/>
</form>

И соответственно обработчик:
Код:

<script runat="server">
    protected void JudgesList_SelectedIndexChanged(object sender, EventArgs e)
    {
        Response.Write("XXXXXX");
    }
</script>

Проблема в том, что событие не наступает. Не могу его отловить. В процессе загрузки страницы в ListBox добавляются Item'ы. Пытаюсь ставить брейк на этом событии, а оно не наступает. Почему???

Смысл в том, чтобы по клику выводить в Label - количество выделенных строк.

Заранее благодарен всем, кто откликнется.

Костэн 02-05-2008 00:26 792932

Народ, подскажите откуда можно скачать Microsoft Visual Studio 2005-2007. Две тысячи восьмая говорят жрёт два гига оперативы, а это не подходит к возможностям моего компьютера

vadimiron 02-05-2008 02:38 792966

Цитата:

Цитата Костэн
Народ, подскажите откуда можно скачать Microsoft Visual Studio 2005-2007 »

ссылка правда на немецком, но ссылки на скачивание вроде понятны

Костэн 02-05-2008 12:35 793114

vadimiron, я уточнил, что именно мне необходимо. Microsoft Visual Studio BETA 2 или более поздняя версия SPECIALITY FOR C# или .NET
Такие есть в интеренете ?

Костэн 04-05-2008 18:24 794661

Что моя просьба завела в тупик знатаков ?

vadimiron, а тоже самой страницы, но на английском нет ? Мне кажется, что на немецком не только ссылки, и программа...

Костэн 09-05-2008 21:02 798479

Много ли полезных интернет приложений можно написать на ASP.NET ?
Кстати: я программу уже нашёл. vadimiron, благодарю за помощь. Хоть я диск купил, но всё же :)

Server 02-08-2008 22:06 866661

Ребят, помогите решить проблему.

Есть страничка, которая содержит форму, где создается большое число HTML-ных элементов управления типа: <input name = "my1" type = text>.

<form name = "MainForm" action = "My.aspx" method = "post">

Как видно работа через post. Поскольку элементов управления создается очень много, заполнение всех занимает много времени. Отсюда и возникает проблема.

Предположим, что пользователь зашел на эту aspx страничку и вводит данные в эти поля. Затем он нажал кнопку submit и я через Request.Form["my1"] пытаюсь получить значения, которые он ввел.

Но! При очень долгом простое (подозреваю, что истекает время сессии) после нажатия на кнопку submit Visual Studio вываливается в debug с сообщением, что Request.Form["my1"] оказывается null???

Ошибка эта возникает не регулярно. Если вводить данные где-то в пределах 10 минут, то все нормально.

Как такое может быть? Прошу помощи! Заранее, спасибо.

mar 12-08-2008 17:12 873871

Server,
так а что у Вас устанавливается по сессии? (Посмотрите куки на клиенте, или подробности Request.Cookies со стороны сервера)


Время: 16:24.

Время: 16:24.
© OSzone.net 2001-