"Венчурные Интеллектуальные Проекты"

В помощь ASP.NET разработчику => Полезные советы => Тема начата: krakoss от 07 Сентября 2011, 06:35:57



Название: SQLite
Отправлено: krakoss от 07 Сентября 2011, 06:35:57
Итак разобрался - для работы с SQLite необходимо
1. скачать и установить dcsqlitefree (выкладываю на форуме)
2. подключить библиотеки к проекту расположенные по адресу - см фото
3. создать базу данных при помощи языка sql вот пример
http://www.rusdoc.ru/articles/ispolzovanie_sqlite_v_net_prilozhenijax/18467/print/
4. вот и все - кроме одного НО - как правильно описать соединение с базой данных ???

пример во вложение


Название: Re: SQLite
Отправлено: krakoss от 07 Сентября 2011, 06:47:16
Цитировать
2. подключить библиотеки к проекту расположенные по адресу - см фото
вот фото


Название: Re: SQLite
Отправлено: UDove от 07 Сентября 2011, 07:45:34
4. вот и все - кроме одного НО - как правильно описать соединение с базой данных ???
можно попробовать это - http://www.connectionstrings.com/sqlite


Название: Re: SQLite
Отправлено: krakoss от 08 Сентября 2011, 13:20:25
Итак продолжу
использование базы данных SQLite для разработки небольшого сайта в работе будем использовать только свободно распространяемое программное обеспечение

1. Это библиотеки System.Data.SQLite.dll для работы с базой данных  и  System.Data.SQLite.Linq.dll для работы с Linq в Visual studio их надо скачать с официального сайта об этом подробно написано вот здесь http://www.rusdoc.ru/articles/ispolzovanie_sqlite_v_net_prilozhenijax/18467/print/ (http://www.rusdoc.ru/articles/ispolzovanie_sqlite_v_net_prilozhenijax/18467/print/)

2. Затем их надо подключить к проекту - то есть добавить в GAS - затем добавить сами файлы в Bin
3. Создать базу данных SQLite - можно при помощи sqliteadmin (файл в приложении)
4. Внести изменения в файл web.config для настройки соединения
Код:
<configuration>
...
    <system.data>
        <DbProviderFactories>
            <remove invariant="System.Data.SQLite"/>
            <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
        </DbProviderFactories>
    </system.data>

<connectionStrings>
  <add name="ConnectionString" connectionString="data source=|DataDirectory|krakos.db3"
   providerName="System.Data.SQLite" />
 </connectionStrings>
 

data source=|DataDirectory|krakos.db3 - обращаю внимание на указание data sourse - файл базы данных должен находиться в папке App_Data

вот и все с базой можно работать привычными средствами - строить DAL и и.д.


Название: Re: SQLite
Отправлено: krakoss от 08 Сентября 2011, 20:03:32
сейчас протестировал работу ASP приложения на ПК без установленных библиотек - только с теми что в проекте - все работает нормально

Код:
 <DbProviderFactories>
            <remove invariant="System.Data.SQLite"/>
            <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
        </DbProviderFactories>
вот при помощи этого кода в web.config


Название: Re: SQLite
Отправлено: UDove от 13 Сентября 2011, 23:43:12
НИЧЕГО НЕ ПОНЯЛ. HELP!!!

Создаю с помощью sqliteadmin базу, мне выдаёт файл с расширением .s3db, а не .db3, ПОЧЕМУ???
В sqliteadmin не работает русский язык - вместо надписей одни вопросительные знаки "? ? ? ? ? ? ? ?"
В sqliteadmin мне пишет, что у меня SQLite 3.5.1 , хотя качал и ставил 3.7.7.1 (http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki - Setups for 64-bit Windows (.NET Framework 3.5 SP1))

или я что-то не то сделал???

К тому же почему-то у меня установился SQLite не 1.0.66.0, а 1.0.74.0

Хотя при всём этом всё открывается, создаётся и читается, но настораживают отличия.


Название: Re: SQLite
Отправлено: UDove от 14 Сентября 2011, 08:16:16
http://habrahabr.ru/blogs/net/56694/


Название: Re: SQLite
Отправлено: krakoss от 24 Января 2012, 18:57:14
для работы с базой в NET 4.0
system.data.sqlite .net 4
необходимо добавить следующее
Код:
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
Ниже привожу весь файл web.config
http://stackoverflow.com/questions/2605490/system-data-sqlite-net-4 (http://stackoverflow.com/questions/2605490/system-data-sqlite-net-4)
 а так же
http://krez0n.org.ua/archives/937 (http://krez0n.org.ua/archives/937)
Код:
<?xml version="1.0"?>
<!--
    Примечание: В качестве альтернативы редактирования этого файла можно воспользоваться
    инструментом веб-администрирования для настройки параметров приложения. Воспользуйтесь
    параметром Веб-сайт->Конфигурация Asp.Net в Visual Studio.
    Полный список параметров и комментариев можно найти в файле
    machine.config.comments обычно расположенном в папке
    \Windows\Microsoft.Net\Framework\vx.x\Config
-->
<configuration>
  <appSettings>
    <add key="webpages:Enabled" value="true"/>
  </appSettings>
  <connectionStrings>
    <add name="ConnStr" connectionString="data source=&quot;C:\Users\Юрий\Documents\Visual Studio 2010\WebSites\WebSqlite\App_Data\amr.db3&quot;" providerName="System.Data.SQLite"/>
    <!--<add name="ConnStr" connectionString="data source=|DataDirectory|amr.db3" providerName="System.Data.SQLite"/>-->
  </connectionStrings>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>
  <system.web>
    <!--
            Значение параметра compilation debug="true" означает, что в откомпилированную
            страницу будут вставлены отладочные символы. Так как этот
            параметр влияет на производительность, следует задавать для него
            значение True только на этапе разработки.
        -->
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=DB937BC2D44FF139"/>
        <add assembly="System.Data.SQLite.Linq, Version=2.0.38.0, Culture=neutral, PublicKeyToken=DB937BC2D44FF139"/>
      </assemblies>
      <buildProviders>
        <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider"/>
      </buildProviders>
    </compilation>
    <!--
            Раздел <authentication> позволяет настроить параметры
            режима проверки подлинности, используемого ASP.NET для проверки
            подлинности пользователя, запрашивающего разрешение на доступ.
        -->
    <authentication mode="Windows"/>
    <!--
            Раздел <customErrors> служит для настройки действий,
            выполняемых при возникновении необрабатываемой
            ошибки во время выполнения запроса. В частности,
            разработчик может задать html-страницы ошибок
            для отображения вместо трассировки ошибки в стеке.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
  </system.web>
  <!--
        Раздел system.webServer требуется для работы ASP.NET AJAX в
        Internet Information Services 7.0.  Этот раздел необязателен для предыдущей версии IIS.
    -->
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
    </startup>
</configuration>


Название: Re: SQLite
Отправлено: krakoss от 24 Января 2012, 19:05:06
Для наглядности - выкладываю готовое решение для работы с данной базой под NET 4.0
и для NET 3.5


Название: Re: SQLite
Отправлено: krakoss от 26 Января 2012, 07:24:36
Сделал перезагрузку для ноут бука - и поторопился - установил VS 2011 + NET 4.5 -
теперь не могу настроить Коннетор для VS + SQlite
Поискал по ГУГЛУ
нашел следующее
http://bitbybit.ru/article/282 (http://bitbybit.ru/article/282)
и
http://www.cyberforum.ru/ado-net/thread244099.html (http://www.cyberforum.ru/ado-net/thread244099.html)
но самое полезное во вложенном файле


Название: Re: SQLite
Отправлено: krakoss от 26 Января 2012, 08:21:24
Connector SQLite for VS 4.5 NET настроил путем установки программы http://forums.udove.ru/index.php?topic=46.msg648#msg648 (http://forums.udove.ru/index.php?topic=46.msg648#msg648) из первого сообщения
Теперь все готово

Почему я так усиленно настраиваю ноут для работы - на нем в дальнейшем буду все показывать
Каталог Предприятий
и
Программа для ОТДЕЛОВ МУНИЦИПАЛЬНОГО ЗАКАЗА районов
http://forums.udove.ru/index.php?topic=58.msg849#msg849 (http://forums.udove.ru/index.php?topic=58.msg849#msg849)
теперь когда все готово перехожу к ней ...


Название: Re: SQLite
Отправлено: krakoss от 26 Января 2012, 18:45:04
Продолжу по теме
как работать с SQLite средствами LINQ
вот здесь ответ http://www.codeproject.com/Articles/236918/Using-SQLite-embedded-database-with-entity-framewo (http://www.codeproject.com/Articles/236918/Using-SQLite-embedded-database-with-entity-framewo)
да не зря они придумали шахматы - все ясно и доходчиво
вот только процесс разработки увеличивается - ведь на начальном этапе МЫ не знаем какие поля будут в нашей базе данных SQLite  ::)


Название: Re: SQLite
Отправлено: krakoss от 30 Января 2012, 18:49:51
вот еще один админ для работы с базой http://sourceforge.net/support (http://sourceforge.net/support)
на всякий случай сохраню на форуме


Название: Re: SQLite
Отправлено: krakoss от 14 Февраля 2012, 19:57:07
SQLite функции для работы

http://sqlite.awardspace.info/syntax/localindex.htm (http://sqlite.awardspace.info/syntax/localindex.htm)


Название: Re: SQLite
Отправлено: krakoss от 05 Марта 2012, 06:02:26
вот несколько ссылок по применению хранимых процедур и SQLIte
http://www.forum.crossplatform.ru/index.php?showtopic=5379 (http://www.forum.crossplatform.ru/index.php?showtopic=5379)
http://chriswolf.heroku.com/articles/2011/01/26/adding-stored-procedures-to-sqlite (http://chriswolf.heroku.com/articles/2011/01/26/adding-stored-procedures-to-sqlite)


Название: Re: SQLite
Отправлено: krakoss от 12 Апреля 2012, 23:54:27
хочу поделиться моими набросками для следующего проекта
используется SQLite ASP.NET и CSS3

http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/ (http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/)

для просмотра лучше использовать = ХРОМ, Мозилу, Maxthon, Сафари - IE и ОПЕРА дружат но должного эффекта пока нет 


Название: Re: SQLite
Отправлено: UDove от 13 Апреля 2012, 10:07:18
попробовал в Google Chrome - прикольно


Название: Re: SQLite
Отправлено: UDove от 19 Июня 2012, 07:58:55
http://www.codeproject.com/Articles/26932/Convert-SQL-Server-DB-to-SQLite-DB


Название: Re: SQLite
Отправлено: krakoss от 28 Июня 2012, 09:29:17
В перерывах между работой на огороде и монтажом металлосайдинга на доме - пробую применять различные плагины от JQuery в связке с  CSS3 и SQLite  
вот пример небольшой заготовки для новостной строки - можно и на начальную страницу для отображения основых разделов сайта http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/newsTabGorizontJQuery.aspx (http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/newsTabGorizontJQuery.aspx)

вот код данной страницы
файл *.aspx
Код:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <div id="container">
        <div id="lof-cordion-1" class="lof-cordion">
            <div class="lof-cordion-wapper">
                <ul>
                    <asp:ListView ID="lvPic" runat="server">
                        <ItemTemplate>
                            <li>
                                <div class="lof-shadow">
                                </div>
                                <img src='<%# "ShowImage.ashx?id=" + Eval("pic_id") %>' alt="" width="700px" height="320px">
                                <div class="lof-description">
                                    <h4>
                                        Новость -
                                        <asp:Literal ID="ltrTT" runat="server" Text='<% #Eval("pic_id") %>' /></h4>
                                    <asp:HyperLink ID="HyperLink1" runat="server" CssClass="hl_Tab" ToolTip='<% #Eval("picture_tag") %>'
                                        Text='<% #Eval("picture_tag") %>' />
                                </div>
                            </li>
                        </ItemTemplate>
                    </asp:ListView>
                </ul>
            </div>
            <div class="lof-bottom">
            </div>
        </div>
        <script type="text/javascript">
            new LofmCordion({ wapperSelector: $E('#lof-cordion-1 .lof-cordion-wapper') });
        </script>
    </div>
</asp:Content>

и конечно *.aspx.cs
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using albomDSTableAdapters;

public partial class newsTabGorizontJQuery : System.Web.UI.Page
{
    AlbumTableAdapter albTA = new AlbumTableAdapter();
    protected void Page_Load(object sender, EventArgs e)
    {
        lvBind();
    }
    public void lvBind()
    {
        lvPic.DataSource = albTA.GetDataSWE();
        lvPic.DataBind();
    }
    
}
файлы со скриптами и css - в коде страницы


Название: Re: SQLite
Отправлено: krakoss от 03 Июля 2012, 10:56:54
В перерывах между работой на огороде и монтажом металлосайдинга на доме - создал проект www.atdtreid.ru (http://www.atdtreid.ru)
Из интересного
1. Применение Routing к новостям - здесь пришлось потрудиться:
А) в базе данных а за основу была взята таблица tNews из проекта больниц  изменил тип данных поля IDNEWS c integer на int
Б) еще раз изучить КАК ПРАВИЛЬНО ПРИМЕНЯТЬ  Routing - особенно что и где надо прописывать в файле Web.Config - вот его содержимое
Код:
<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    ...
  </connectionStrings>
  <appSettings/>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.SQLite, Culture=neutral, PublicKeyToken=DB937BC2D44FF139"/>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
      </assemblies>
    </compilation>
      <authentication mode="Forms">
        <forms name="Udove" loginUrl="login.aspx" />
      </authentication>
    <customErrors mode="RemoteOnly" defaultRedirect="~/page.aspx"/>
    <pages>
      <namespaces>
        <clear/>
        <add namespace="System"/>
        <add namespace="DSTableAdapters"/>
        <add namespace="System.IO"/>
        <add namespace="System.Collections"/>
        <add namespace="System.Collections.Generic"/>
        <add namespace="System.Collections.Specialized"/>
        <add namespace="System.Configuration"/>
        <add namespace="System.Data"/>
        <add namespace="System.Text"/>
        <add namespace="System.Text.RegularExpressions"/>
        <add namespace="System.Web"/>
        <add namespace="System.Web.Caching"/>
        <add namespace="System.Web.SessionState"/>
        <add namespace="System.Web.Security"/>
        <add namespace="System.Web.Profile"/>
        <add namespace="System.Web.UI"/>
        <add namespace="System.Web.UI.WebControls"/>
        <add namespace="System.Web.UI.WebControls.WebParts"/>
        <add namespace="System.Web.UI.HtmlControls"/>
        <add namespace="Udove"/>
      </namespaces>
      <controls>
        <add tagPrefix="ajaxCT" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
        <add tagPrefix="ajaxCT" namespace="AjaxControlToolkit.HTMLEditor" assembly="AjaxControlToolkit"/>
        <add tagPrefix="udp" tagName="TextBoxCalendar" src="~/Controls/TextBoxCalendar.ascx"/>
        <add tagPrefix="udp" tagName="Content" src="~/Controls/Content.ascx"/>
      </controls>
    </pages>
  </system.web>
  <system.webServer>
    <!--Для подключения библиотеки Routing-->
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--<handlers>
      <remove name="ChartImageHandler"/>
      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </handlers>-->
    <staticContent>
      <mimeMap fileExtension=".ogg" mimeType="video/ogg" />
      <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
      <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
    </staticContent>
    <!--  <staticContent>  
             <mimeMap fileExtension=".m4v" mimeType="video/m4v" />
<mimeMap fileExtension=".ogg" mimeType="audio/ogg" />
<mimeMap fileExtension=".oga" mimeType="audio/ogg" />
<mimeMap fileExtension=".ogv" mimeType="video/ogg" />
<mimeMap fileExtension=".webm" mimeType="video/webm"/>
<mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" />
     <mimeMap fileExtension=".wmv" mimeType="audio/x-ms-wmv" />



<mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />
<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
<mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />
        </staticContent>-->
    <!-- For silverlight applicaitons -->
  </system.webServer>
  <location path="Admin">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>
</configuration>

2. Использование файла *.XLS импортированного из 1С- бухгалтерии для формирования GridView на странице http://atdtreid.ru/PriceList/ (http://atdtreid.ru/PriceList/) и соответственно настройка GridView для постраничного просмотра прайса
вот код страницы *.aspx
Код:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="PriceList_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="cphContent" runat="Server">
    <% if (SiteType.IsMobile())
       {%>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#pricelist").addClass("selected");
        });
    </script>
    <% } %>
    <% if (!SiteType.IsMobile())
       {%>
    <div class="sitemap">
        <a href="javascript://" onclick="atoprint('MessForPrint');">
            <asp:Image ID="print" runat="server" ImageUrl="~/images/print_Button.png" ToolTip="Печать страницы"
                BorderColor="White" BorderStyle="Solid" BorderWidth="0" />
        </a>
    </div>
    <%--<br />
    <asp:Label ID="lbl1" runat="server" Font-Bold="true">Строка поиска - до 3-х ключевых слов - или цену товара</asp:Label>
    <br />
    <br />
    <asp:TextBox ID="txtSearch" runat="server" ToolTip="Условие поиска - допустимы символы русского алфавита, цифры и пробел"
        ValidationGroup="search" Text="Строка поиска" onkeydown="if (this.value == 'Строка поиска') this.value = '';"
        onclick="this.value=''" OnTextChanged="txtSearch_OnTextChanged" AutoPostBack="True"
        Width="600px" />
    <asp:Panel ID="Panel1" runat="server" CssClass="NewsR">
        <asp:Button ID="btnSearch" runat="server" ToolTip="Поиск" Style="background-image: url(../images/search.png);
            background-repeat: no-repeat;" BackColor="Transparent" Height="22px" Width="64px"
            OnClick="btnSearch_Click" />
    </asp:Panel>
    <br />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtSearch"
        ErrorMessage="Допустимы символы русского алфавита, цифры и пробел" />
    <ajaxCT:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="txtSearch"
        ValidChars="АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя 0123456789"
        Enabled="True" />
    <br />--%>
    <% } %>
    <div id="MessForPrint">
        <udp:Content ID="cCharter" runat="server" NumPage="3" />
        <br />
        <hr />
        <asp:Panel ID="Panel2" runat="server" CssClass="NewsR">
            Вы читаете страницу
            <%=GridView1.PageIndex + 1%>
            из
            <%=GridView1.PageCount%>
        </asp:Panel>
        <table width="800" align="center" cellpadding="0" cellspacing="0">
            <tr>
                <td colspan="2" align="center" height="30">
                    <hr />
                    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="5" PageSize="100"
                        OnPageIndexChanging="GridView1_PageIndexChanging" CssClass="GridViewStyle" PagerStyle-CssClass="PagerStyle">
                        <Columns>
                            <asp:TemplateField HeaderText="№">
                                <ItemTemplate>
                                    <%# Container.DataItemIndex + 1 %>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <PagerSettings Position="TopAndBottom" Mode="NumericFirstLast" />
                        <EmptyDataTemplate>
                            По Вашему запросу: ничего не найдено
                        </EmptyDataTemplate>
                    </asp:GridView>
                </td>
            </tr>
        </table>
        <br />
        <asp:Panel ID="pnlgvItems" runat="server" CssClass="NewsR">
            Вы читаете страницу
            <%=GridView1.PageIndex + 1%>
            из
            <%=GridView1.PageCount%>
        </asp:Panel>
    </div>
</asp:Content>

*.aspx.cs и страницы кода соответственно

Код:
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;
using Udove;
using DSTableAdapters;

using System.Collections;
using System.Diagnostics;
using System.Text.RegularExpressions;

public partial class PriceList_Default : BasePage
{
    String search0, search1, search2;
    RecPagesTableAdapter rpTA = new RecPagesTableAdapter();
    DataTable dt = new DataTable();

    protected void Page_Load(object sender, EventArgs e)
    {
        string path = Server.MapPath("~/Admin/excelData/price.xls");
        ExportToGrid(path);
        DataView dvPageInfo = new DataView(rpTA.GetData(), "IDPage=3", "nameB", DataViewRowState.CurrentRows);
        if (dvPageInfo.Count > 0)
        {
            this.Title += dvPageInfo[0]["NamePage"] + " | " + dvPageInfo[0]["nameB"];
        }
    }
    void ExportToGrid(String path)
    {
        OleDbConnection MyConnection = null;
        DataSet DtSet = null;
        OleDbDataAdapter MyCommand = null;
        MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties=Excel 8.0;");

        //use below connection string if your excel file .xslx 2007 format
        // MyConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + path + "';Extended Properties=Excel 12.0;");


        MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
        DtSet = new System.Data.DataSet();
        MyCommand.Fill(DtSet, "[Sheet1$]");
        dt = DtSet.Tables[0];
        MyConnection.Close();
        if (dt.Rows.Count > 0)
        {
            FillGrid();
        }
    }
    public void FillGrid()
    {
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        FillGrid();
    }

    /// <summary>
    /// Поиск по файлу
    /// </summary>
    /// <param name="state"></param>
    #region
    //protected void txtSearch_OnTextChanged(object sender, EventArgs e)
    //{

    //    if (IsPostBack == true)
    //    {
    //        if (txtSearch.Text.Length < 3)
    //        {
    //            txtSearch.Text = "Строка поиска";
    //        }
    //    }
    //}
    //protected void btnSearch_Click(object sender, EventArgs e)
    //{

    //    string searchStr = txtSearch.Text.Trim();
    //    if (searchStr != "Строка поиска")
    //    {
    //        Regex rxNums = new Regex(@"^\d+$");
    //        if (rxNums.IsMatch(searchStr))
    //        {
    //            DataView dvSearch = new DataView(dt, "come  LIKE '" + searchStr + "%'", "code", DataViewRowState.CurrentRows);
    //            if (dvSearch.Count > 0)
    //            {
    //                GridView1.DataSource = dvSearch;
    //                GridView1.DataBind();
    //            }
    //            else
    //            {
    //                ShowAlertMessage("По Вашему запросу ничего не найдено - измените условия поиска.");
    //            }
    //        }
    //        else
    //        {
    //            int countWord = searchStr.Split(' ').Length;
    //            string[] searchWord = searchStr.Split(' ');
    //            search0 = searchWord[0].Remove(searchWord[0].Length - 1).ToString();
    //            if (countWord == 2)
    //            {
    //                search1 = searchWord[1].Remove(searchWord[1].Length - 1).ToString();
    //            }
    //            if (countWord == 3)
    //            {
    //                search1 = searchWord[1].Remove(searchWord[1].Length - 1).ToString();
    //                search2 = searchWord[2].Remove(searchWord[2].Length - 1).ToString();
    //            }
    //            if (countWord > 3)
    //            {
    //                ShowAlertMessage("По Вашему запросу ничего не найдено - измените условия поиска.");
    //            }

    //            if (countWord == 1)
    //            {
    //                DataView dvSearch = new DataView(dt, "name  LIKE '%" + search0 + "%'", "code", DataViewRowState.CurrentRows);
    //                if (dvSearch.Count > 0)
    //                {
    //                    GridView1.DataSource = dvSearch;
    //                    GridView1.DataBind();
    //                }
    //                else
    //                {
    //                    ShowAlertMessage("По Вашему запросу ничего не найдено - измените условия поиска.");
    //                }
    //            }
    //            else
    //                if (countWord == 2)
    //                {
    //                    DataView dvSearch = new DataView(dt, "name  LIKE '%" + search0 + "%'", "code", DataViewRowState.CurrentRows);
    //                    if (dvSearch.Count > 0)
    //                    {
    //                        DataTable dtSearch1 = new DataTable();
    //                        dtSearch1 = dvSearch.ToTable();
    //                        DataView dvSearch1 = new DataView(dtSearch1, "name  LIKE '%" + search1 + "%'", "code", DataViewRowState.CurrentRows);
    //                        if (dvSearch1.Count > 0)
    //                        {
    //                            GridView1.DataSource = dvSearch1;
    //                            GridView1.DataBind();
    //                        }
    //                        else
    //                        {
    //                            ShowAlertMessage("По Вашему запросу ничего не найдено - измените условия поиска.");
    //                        }
    //                    }
    //                }
    //                else
    //                    if (countWord == 3)
    //                    {
    //                        DataView dvSearch = new DataView(dt, "name  LIKE '%" + search0 + "%'", "code", DataViewRowState.CurrentRows);
    //                        if (dvSearch.Count > 0)
    //                        {
    //                            DataTable dtSearch1 = new DataTable();
    //                            dtSearch1 = dvSearch.ToTable();
    //                            DataView dvSearch1 = new DataView(dtSearch1, "name  LIKE '%" + search1 + "%'", "code", DataViewRowState.CurrentRows);
    //                            if (dvSearch1.Count > 0)
    //                            {
    //                                DataTable dtSearch2 = new DataTable();
    //                                dtSearch2 = dvSearch1.ToTable();
    //                                DataView dvSearch2 = new DataView(dtSearch2, "name  LIKE '%" + search2 + "%'", "code", DataViewRowState.CurrentRows);
    //                                if (dvSearch2.Count > 0)
    //                                {
    //                                    GridView1.DataSource = dvSearch2;
    //                                    GridView1.DataBind();
    //                                }
    //                                else
    //                                {
    //                                    ShowAlertMessage("По Вашему запросу ничего не найдено - измените условия поиска.");
    //                                }
    //                            }
    //                        }
    //                    }
    //        }
    //    }
    //}
    #endregion
    /// <summary>
    /// Вспомогательные функции
    /// </summary>
    /// <param name="state"></param>
    #region
    public static void ShowAlertMessage(string error)
    {
        Page page = HttpContext.Current.Handler as Page;
        if (page != null)
        {
            error = error.Replace("'", "\'");
            ScriptManager.RegisterStartupScript(page, page.GetType(), "«Ашинский торговый дом «Трейд»", "alert('" + error + "');", true);
        }
    }
    public Control FindControlRecursive(Control ctrl, string id)
    {
        if (ctrl.ID == id)
        {
            return ctrl;
        }
        foreach (Control child in ctrl.Controls)
        {
            Control t = FindControlRecursive(child, id);
            if (t != null)
            {
                return t;
            }
        }
        return null;
    }
    protected override void SavePageStateToPersistenceMedium(object state)
    {
    }
    protected override object LoadPageStateFromPersistenceMedium()
    {
        return null;
    }
    #endregion
}


Что хотелось бы еще реализовать:
1. Поиск по данному GridView  ???
2. Переключение количества записей в GridVew при просмотре - допустим 100, 250, 500, 1000, Все
 
при переходе по ссылке - ©  доступна мобильная версия сайта - и так же обратно

Максим - оцени как данный сайт смотрится в мобильной версии


Название: Re: SQLite
Отправлено: UDove от 03 Июля 2012, 12:55:29
Не плохо. В мобильной версии всё хорошо, работает быстро.
Единственное - не совсем удачно в прайс-листом. Я бы товары разбил на категории, хоть как-то сгруппировал бы наименования. Это условие такое - импорт списка товаров из .XLS? В 1С он у них тоже так тупо набит? может что-то пересмотреть стоило бы в отношении прайс-листа


Название: Re: SQLite
Отправлено: krakoss от 03 Июля 2012, 13:17:18
Переключение количества записей в GridVew при просмотре - Все. 100, 250, 500, 1000 - реализовано

Код:
<asp:DropDownList ID="ddlPageSize" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
               <asp:ListItem Text="Все" Value="100000"></asp:ListItem>
                <asp:ListItem Text="100" Value="100" Selected="true"></asp:ListItem>
                <asp:ListItem Text="250" Value="250"></asp:ListItem>
                <asp:ListItem Text="500" Value="500"></asp:ListItem>
                <asp:ListItem Text="1000" Value="1000"></asp:ListItem>
            </asp:DropDownList>

protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridView1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
        FillGrid();
    }
Цитировать
Единственное - не совсем удачно в прайс-листом. Я бы товары разбил на категории, хоть как-то сгруппировал бы наименования. Это условие такое - импорт списка товаров из .XLS? В 1С он у них тоже так тупо набит? может что-то пересмотреть стоило бы в отношении прайс-листа
В ответ могу сказать ТРИ раза ДА
1. Это условие
2. Так тупо набит
3. Пусть пересмотрят - поправлю


Название: Re: SQLite
Отправлено: krakoss от 05 Июля 2012, 09:20:35
Не плохо. В мобильной версии всё хорошо, работает быстро.
Единственное - не совсем удачно в прайс-листом. Я бы товары разбил на категории, хоть как-то сгруппировал бы наименования. Это условие такое - импорт списка товаров из .XLS? В 1С он у них тоже так тупо набит? может что-то пересмотреть стоило бы в отношении прайс-листа

Все - готово - оцените ...


Название: Re: SQLite
Отправлено: UDove от 05 Июля 2012, 12:38:13
поиск работает


Название: Re: SQLite
Отправлено: krakoss от 05 Июля 2012, 16:04:44
и в заключение могу сказать что все это было сделано на скорости - см. рисунок - за 6 000 рублей - как раз мне на плитку для двора - теперь все привезли сайдинг - смастерил леса - так что творить будет некогда ...


Название: Re: SQLite
Отправлено: krakoss от 05 Июля 2012, 18:29:10
нет творить время есть - выпил пару бутылочек пива ... уставший от тяжелой ручной работы сел опять за ПК - результат на лицо ... http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/spacegallery.aspx (http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/spacegallery.aspx)
творю... изучаю... - все в одном разрезе - ADO.NET + SQLite + JQuery + CSS3 + HTML 5

Максим - все лишнее удали ... я имею ввиду словоблудие
код можно посмотреть на 1 Gb.ru

Проект atdtreid.ru = прошел по моей партнерской программе - теперь у меня сайт www.krakoss.ru - перешел на самоокупаемость
УРА ,,,,  ;) :D


Название: Re: SQLite
Отправлено: krakoss от 06 Июля 2012, 13:42:47
http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/slider_CSS3.aspx (http://xn--90aifd0az.xn----7sbab9byagn3e.xn--p1ai/slider_CSS3.aspx)

заготовка для Меню ... Новостей сайта ... Любой информации - Баннеры спонсоров - на любом сайте

Все только при помощи CSS3 + ADO.NET + SQLite


Название: Re: SQLite
Отправлено: UDove от 06 Июля 2012, 15:22:51
во всех браузерах работает по разному, странно  ???
в IE9 вообще пустой лист


Название: Re: SQLite
Отправлено: UDove от 07 Августа 2012, 22:48:36
http://sb-money.ru/sqlite.php?page=19


Название: Re: SQLite
Отправлено: krakoss от 15 Августа 2012, 13:38:16
после полной переустановки Windows7 на двух моих ПК для использования SQLite из обозревателя серверов студии сделал следующее
 
1. установил VS SR1 == это первое что поставил на ПК
2. и  sqlite-netFx40-setup-bundle-x86-2010-1.0.81.0

вот это файл выкладываю в тему на форуме


Название: Re: SQLite
Отправлено: Cas-Eng от 15 Августа 2012, 19:14:36
Мне понравилась вот эта статья, правда, она немного устарела ;)
Ситуации, когда полезно использовать SQLite, а когда нет:
http://pc.uz/print/publish/doc/text10975_podhodyashchee_primenenie_dlya_sqlite


Название: Re: SQLite
Отправлено: krakoss от 26 Января 2013, 00:45:44
для того что бы научить SQLite использовать LIKE для поиска по русским словам надо
1. на первоначальном этапе создать базу SQLite  в кодировке UTF-16le
2. остальное завтра == устал очень но ... фото прикладываю и ссылку на то как это работает

http://www.krakoss.ru/def.aspx (http://www.krakoss.ru/def.aspx)