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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

YuraseK

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть одна программа, которая написана под .NET 4, которая очень странно себя ведёт при нагрузке на систему. Т.е. когда нет посторонней нагрузки, то сама программа нагружает процессор не более чем на 30%. Если же создать нагрузку тем же WinRAR буквально на 30 секунд тестом быстродействия, то после его отмены программа начинает грузить процессор на 100%. При помощи системного монитора удалось выяснить, что в момент максимальной нагрузки выполняется компиляция по требованию (JIT). При этом компилируется порядка 3000 методов, и размер кода составляет не более 0,5 Мб. Профилировщиком dotTrace удалось выяснить, что начинает сходить с ума сборщик мусора (garbage collector). Из нюансов отмечу, что всё это наблюдается на процессоре Intel Xeon E5-2603. Как можно понять что компилируется по требованию, может ли сборщик мусора некорректно работать?

Всего записей: 529 | Зарегистр. 12-12-2003 | Отправлено: 20:06 15-01-2014
mxm1975



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

Цитата:
Как можно понять что компилируется по требованию

 
А может не нужно определять, а использовать NGEN и компиляцию в Release?

Всего записей: 279 | Зарегистр. 31-07-2002 | Отправлено: 00:24 18-01-2014
YuraseK

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

Цитата:
А может не нужно определять, а использовать NGEN и компиляцию в Release?

Программа чужая. Я просто хочу понять существует ли документированный механизм, который мог бы помочь выяснить что компилируется по требованию и можно ли этому воспрепятствовать? Есть подозрения, что в сборщике мусора есть косяк.

Всего записей: 529 | Зарегистр. 12-12-2003 | Отправлено: 00:49 18-01-2014
mxm1975



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

Цитата:
компилируется по требованию


Цитата:
можно ли этому воспрепятствовать

 
таки

Цитата:
использовать NGEN

 
 

Всего записей: 279 | Зарегистр. 31-07-2002 | Отправлено: 01:23 18-01-2014
Big17

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

Цитата:
Надеюсь, описал, что мне хочется получить. Спасибо заранее.

См. всевозможные Lookup-компоненты, они для этого и предназначены, чтобы вместо идентификатора показывать определенное значение, а в базу писать именно идентификатор.

Всего записей: 147 | Зарегистр. 30-09-2003 | Отправлено: 00:18 22-01-2014
moneybro

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, помогите. Задача вроде должна быть простая, но никак не могу ее победить красиво.
Есть:
1. База на Access
2. Небольшой клиентец на C#, который ходит в базу и добавляет в таблицу строки.
 
Когда одна из таблиц была без ключевого поля, то вставлять в нее строки было просто. Но появилась необходимость изменения данных в базе через клиента. Данные из базы в клиенте отображаются в dataGridView. Так вот для того чтобы базу можно было править из клиента в таблицу (в одну из таблиц базы) было добавлено ключевое поле типа счетчик.
 
Проблема состоит в том, что при вставке строки неизвестно значение для вставки в поле счетчика. Можно ли каким-то образом (типа какими-то встроенными функциями выбора или т.п.) узнавать перед вставкой значение максимального элемента в столбце счетчика? Извините за корявость изложения.
 
Очень не хочется сначала выбирать весь столбик счетчика и искать в нем максимум, потом "вручную" увеличивать его на единичку.  
Сначала делать вставку строки с пустыми параметрами, а потом делать update с нужным набором значений тоже странно.
 
Подскажите пожалуйста как решить мою проблему.
 
Сейчас команда добавления строки выглядит следующим образом:
 
string CmdText = ("INSERT INTO ordersBook VALUES (" +
            //1 + "," + // счетчик [сейчас закомментировано так как не используется]
            orderNumber + "," +
            dateTimePicker3.Text + "," +
            "'" + comboBox13.Text + "'," + // статус заявки
            "'" + fobjname + "'," + // адрес объекта  
            "'" + textBox2.Text + "'," + // номер квартиры
            "'" + textBox1.Text + "'," + // арендатор
            "'" + textBox29.Text + "'," + // Клиент/абонент
            "'" + opernamef + "'," + // оператор .... и т.д. еще некоторое количество значений.
 
Нашел:
sql_select = 'select max(AAA) ...
 
Всем спасибо!

Всего записей: 5 | Зарегистр. 07-08-2008 | Отправлено: 16:14 03-02-2014 | Исправлено: moneybro, 16:32 03-02-2014
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
moneybro
Не то нашёл. Поле типа "счётчик" не надо указывать в Insert-е, оно автоматически наращивается.
Удачи в программировании, она, судя по-написанному - понадобится.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 17:29 03-02-2014 | Исправлено: Alexzzy, 00:35 04-02-2014
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте.
Подскажите, пожалуйста, как подключиться к базе данных MsSQL.
Программа, которая использует эту БД содержит следующую строку подключения:

Код:
Provider=SQLNCLI11;Data Source=(LocalDb)\v11.0;Integrated Security=SSPI;AttachDbFilename=C:\ProgramData\CoolSoft\cs.mdf;Database=CS
 

Подскажите, пожалуйста, только ConnectionString для C#, чтобы подключиться к данной БД.
Спасибо!

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 17:03 06-02-2014 | Исправлено: ForposT_ForeveR, 17:04 06-02-2014
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ForposT_ForeveR
почитай лучше мануал: http://msdn.microsoft.com/ru-ru/library/System.Data.SqlClient.SqlConnection_properties(v=vs.110).aspx

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:52 07-02-2014
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BlackVetal
 
Спасибо большое за столь дельный совет.
Читал я этот и другие маны. Но не могу написать рабочую строку коннекта.
 

Код:
string connectionString = @"Data Source=.\SQLEXPRESS;
                          AttachDbFilename=C:\ProgramData\CoolSoft\cs.mdf;
                          Integrated Security=SSPI";

 

Код:
string connectionString = @"Data Source=.\SQLEXPRESS;
                          AttachDbFilename=C:\ProgramData\CoolSoft\cs.mdf;
                          Integrated Security=True";

 

Код:
string connectionString = @"Data Source=.\SQLEXPRESS;
                          AttachDbFilename=C:\ProgramData\CoolSoft\cs.mdf;
                          Database=CS;
                          Integrated Security=SSPI";

 
Ни один из вариантов не работает.

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 22:55 08-02-2014 | Исправлено: ForposT_ForeveR, 22:56 08-02-2014
moneybro

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

Цитата:
Alexzzy
Не то нашёл. Поле типа "счётчик" не надо указывать в Insert-е, оно автоматически наращивается.
Удачи в программировании, она, судя по-написанному - понадобится.
 

Alexzzy, плохо издеваться над начинающими.
 
Я предполагал, что должно само увеличиваться, но инесерт не проходит:
 
1. убрал вообще этот параметр - ошибка:Не совпадает число значений запроса и число результирующих полей.
 
2. попробовал убрать параметр, но оставить для него место  
"," + ...
ошибка: ошибка синтаксиса и тд и тп
 
3. попробовал вставить "пусто" вместо параметра
"''" + ...
2 апострофа в кавычках
ошибка: несоответствие типов данных в выражении условий отбора
 
как использовать функцию счетчика access из приложения на шарпе? Просьба привести пример, а не только теорию свою высказывать!
 
Поэтому я и сделал как смог и как проще: нашел максимум встроенным функционалом аксесса и просто прибавил единичку.

Всего записей: 5 | Зарегистр. 07-08-2008 | Отправлено: 18:03 09-02-2014 | Исправлено: moneybro, 18:05 09-02-2014
dneprcomp



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

Код:
INSERT INTO ordersBook (перечислить все поля поименно, кроме "счётчик" )
VALUES ( перечислить все значения в той же последовательности)
 

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 20:43 09-02-2014 | Исправлено: dneprcomp, 20:45 09-02-2014
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
moneybro
Увы, я не издеваюсь, а просто делаю выводы. Методом "тыка" в программировании далеко не уедешь без удачи. Надо было для начала выяснить почему "Не совпадает число значений запроса и число результирующих полей" (достаточно документации на Insert), а не перебирать варианты далее...

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 22:53 09-02-2014
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ForposT_ForeveR
Если не ошибаюсь - имя БД надо указать

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 07:58 10-02-2014
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BlackVetal
 
В 3м варианте ведь есть строчка:

Код:
Database=CS;  

Или как-то по другому это надо сделать?

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 11:29 10-02-2014
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ForposT_ForeveR
Блин, студии нет под рукой ...
Вот еще одна штука - попробуй через нее построить строку подключения - есть вот такой класс SqlConnectionStringBuilder. задав некоторые параметры ему - на выходе имеет строку подключения.

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 13:09 10-02-2014
Dmitry

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR
Самый простой способ - это создать пустой udl-файл. Запустить его (откроется системный диалог редактирования), настроить там все параметры, сохранить. Потом из файла можно скопировать готовую строку подключения.

Всего записей: 81 | Зарегистр. 24-09-2003 | Отправлено: 20:01 10-02-2014
DrakonHaSh



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос по MVC 4 + Entity Framework + Code First  
 
можно ли только при использовании вышеперечисленных технологий (желательно попроще. как например создание controller с view указанием в мастере лишь класса Model и класса DbContext ) создать view в котором будет редактироваться запись таблицы с полем, ссылающимся на другую таблицу в виде DropDownListFor ?
пол дня гугл рыл, так и не нашел
 
Добавлено:
нашел, нужно заюзать MvcScaffolding
http://blog.stevensanderson.com/2011/01/28/mvcscaffolding-one-to-many-relationships/

Всего записей: 2076 | Зарегистр. 08-01-2008 | Отправлено: 20:42 10-02-2014 | Исправлено: DrakonHaSh, 20:44 10-02-2014
11exx



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По теме программирование  мне помогла очень статья на этом сайте http://***.ru/catalog/item2002.html который я нашёл в интернете когда искал ответы. Вообщем там описаны "Виды программного обеспечения для управления проектами" также полезные приложения и применения их в практике. Буду рад если помог.




Давайте обойдемся без рекламы? Тем более не имеющей никакого отношения к данной теме.

Всего записей: 2 | Зарегистр. 12-02-2014 | Отправлено: 16:16 12-02-2014
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте.
Опишу ситуацию.
Программа запускает стороннюю утилиту с какими-то параметрами запуска, для меня неизвестными.
Идея:
Переименовать ехе файл утилиты, написать свой ехе файл, который при запуске выполнит часть кода и затем запустить утилиту, у которой уже другое название ехе файла и передать эти же параметры, которые получила моя программка.
 
Помогите, пожалуйста, решить проблему, как узнать какие параметры запуска были переданы моей программе?

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 17:00 12-02-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 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