Работа тестировщиком после переезда в Германию
Мне такое ограничение неизвестно
Сейчас покажу, быстро накалякаль, вот это не работает:
private void Form1_Load(object sender, EventArgs e) {
String path = @"C:\Klinikum\WindowsFormsApplication4\WindowsFormsApplication4\bin\Debug\kh2021.mdb";
String connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}";
OleDbConnection con = new OleDbConnection(String.Format(connString, path));
con.Open();
OleDbCommand cmd = new OleDbCommand("SELECT UserID, User, Password FROM User", con);
OleDbDataReader dr = cmd.ExecuteReader();
while(dr.Read()) MessageBox.Show(dr[0].ToString());}
Нужно так:
OleDbCommand cmd = new OleDbCommand("SELECT UserID, User, Password FROM [User]", con);
А форматирование кто съел?
Так нельзя вроде использовать HTML в этом форуме, копирую из Far Manager, т.е. Российский Norton Commander.
P.S.:Насчёт помощи спасибо конечно, но мне помогать не надо, сам разбирусь
тэг pre спасёт отца русской демократии
Это тег знаю, просто низя!!
НП
И ещё там много нюансов которые нужно знать, допустим если компилируешь код в 64бит, а используешь MS Access 32 бит, программа просто вылетает. Так-же у баз данных проблема с юникодом если пишишь на русском то в поля вставляются вопросики, ну может в настройках нужно установить, но в старых версиях MS Access точно абра кадабра вместо русского текста. Проблема с User см. https://stackoverflow.com/questions/37806992/sql-error-inc...
LINQ можно использовать до тех пор пока хватает быстродействия системы.
Ага я так и сказал дотнетчику. Ещё поиздевался вот так:
проектирую в Microsoft Access
-----
В Аксесссе нет многих правильных вещей.
Например - нет триггеров, нет добавления функциональности путем подключения дллок и еще много чего нет.
Все что есть в Аксессе - относительно легкая система построения таблиц и связей.
Эта относительная легкость как раз и не дает научится проектировать базу "как надо" и все делается "как придется" или "как получится" - с соответствующим результатом.
Надо чтобы СУБД поддерживала CASE WHEN т.е. вот это https://www.w3schools.com/sql/sql_case.asp, если СУБД не поддерживает CASE WHEN, то нужно писать свою функциию https://www.tutorialspoint.com/how-to-create-a-simple-mysq... а я проектирую в Microsoft Access
Надо, что бы база данных варила кофе и имела сиськи 4 размера. uscheswoi_82, вы не умеете проектировать базы данных и работать с стандартным SQL. Это проблема, а не то, что база данных не имеет неведомую фуйню непонятную фичу.
но тогда можно с большой долей вероятности сказать, что программа ниже плинтуса написана.
Она и так написана ниже плинтуса. Программа, которая использует хранилище данных, сделанное через жопу, рано или позно эти данные потеряет. Это и есть показатель уровня программы.
Справедливости ради нужно отметить, что некоторые крупные фирмы в Германии разделяют код на системный и прикладной. Прикладной это написание отдельный конкретных масок , например, на базе своего внутреннего фреймворка. Так вот в прикладном коде эти фирмы ТРЕБУЮТ, что бы название функций и переменных было на немецком. Выглядит просто убийственно
Например - нет триггеров, нет добавления функциональности путем подключения дллок и еще много чего нет.
Это все от лукавого. База данных должна данные хранить и защищать их целостность связями между таблицами. Все. Использование любой хитрой фичи от конкретной базы резко снижает портируемость приложения и нужно смотреть - а оно того стоит? Например функции. Блин, понаписали у нас тут деятели функций и вдруг оказалось, что при переходе на более высокие версии оракла не все функции совместимы. Пришлось проверять все. А юниттестов нет.
Или нахреначили код на PL/SQL. Причем особой необходимости в этом не было. И все. жопа. Мы привязаны к ораклу. Навсегда. Проверки синтаксиса в коде для SQL нет и убрать эти пассажи теперь невозможно.
Ну и
как всегда поиск ошибок и деббагинг кода. Что то происходит. И если это что то как событие инициируется на уровне базы данных, то хрен потом концы найдешь. Потому что ни дебаггингом ни анализом кода это не отлавливается и если не знать, то все. Опять жопа.
И все. жопа. Мы привязаны к ораклу
Был подобный проект, клиент захотел другую базу. Просто клиент был готов заплатить.
Но там были очень высокие требования по быстродействию, были миллионы записей. Пачки оптимизированного SQL.
Код, как обычно, старинное спагетти. Но удалось перевести, так что работал и там и там.
вы не умеете проектировать базы данных и работать с стандартным SQL
Ну так продемонстрируйте нам свои знания, с CASE WHEN просто замечательно работает, если SQL не поддерживает CASE WHEN то нужно писать свой триггер или делать спомощью LINQ. В Java нет LINQ и никогда не будет. PL SQL нельзя, либо MySQL, или MS-SQL Express Edition, можно ещё LINQ.
Опишите вначале задачу.
Я кодера просил, а не вас.
P.S.:Хотя PL/SQL тоже не сложный, там синтакс похож на язык Ada, Pascal в универе изучал, а Ada тоже недавно изучил, просто Ada ЯП очень типизированный, даже я бы сказал похлеще Pascal. Хотя нужно делать на Хане, в больнице в Шарите в Берлине, там используют Хану для выявления и лечение онкологии.
Про эту типизацию в Ada написали тут https://habr.com/ru/post/469671/
Система типов в Аде не просто строгая – её иногда называют сверхстрогой, поскольку она не позволяет никакого неявного приведения типов.
Компилятор выдаст ошибку, поскольку Integer и MyInt – это не одно и то же. Главное преимущество такого подхода в том, что если программист потом изменит определение типа, тысячи неявных приведений типа по всей базе кода не взорвут программу. Вместо этого нужно явно приводить типы – это пропагандирует хороший код, предотвращая смешение типов, которые «достаточно схожи».