|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » ASP: Все вопросы |
|
|
ASP: Все вопросы
|
|
Ветеран Сообщения: 878 |
стоит ли изучать или нет?...
кто знает, юзал, поделитесь мнением... |
|
|
Отправлено: 19:08, 03-02-2006 |
|
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Я взял пример с 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>
System.Data.SQL => System.Data.OleDB SQLConnection =>OleDbConnection ... Пишу дома, а интернет на работе MSDN дома нет, и посмотреть аналоги немогу Например, на одном из примеров застрял на SQLExecuteQuery - какой аналог этой функции в OleDb? Нужно написать модуль для редактирования и добавления в базе данных! Есть примеры, но они для работы с MSSQL! Поэтому и решил поставить MSSQL. |
|
Последний раз редактировалось vadimiron, 28-11-2007 в 17:04. Отправлено: 16:43, 28-11-2007 | #41 |
|
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Оформляйте код пожалуйста тегами форума
Попробуйте вот этот код для считавыния из 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);
}
|
|
------- Отправлено: 17:13, 28-11-2007 | #42 |
|
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Цитата vadimiron:
На другом форуме прочитал такое: Цитата:
|
||
|
Отправлено: 17:29, 28-11-2007 | #43 |
|
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Lihonosov,
Честно говоря, не знаю. База к которой я подключаюсь, не мной ведётся. Мне просто дали пароль и Логин и показали, где она лежит. Для тестов я создавал для себя сам базу. Без всяких паролей и тд. Попробуйте тоже так. Создайте новую Access-базу. Там одну таблицу с парой столбцов и парой записей. И попробуйте поконектиться к ней |
|
------- Отправлено: 17:36, 28-11-2007 | #44 |
|
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Цитата vadimiron:
А еще вопрос, мне хотелось бы чтобы когда, пользователь ввел слово поиска и ему вывелись результаты в DataGridе, то искомое слово было везде выделено другим цветом! Может знаете как это реализовать? Ссылка или пример? |
|
|
Отправлено: 17:43, 28-11-2007 | #45 |
|
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Посмотрите здесь - вроде то. (Я сам не пробЫвал)
|
|
------- Отправлено: 18:49, 28-11-2007 | #46 |
|
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Цитата:
Решил все переделать на работу с 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>
"ОШИБКА: Невозможно добавить запись,пожалуйста, убедитесь, что поля правильно заполнены"; Подскажите в чем моя ошибка. |
|
|
Отправлено: 11:48, 29-11-2007 | #47 |
|
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Проблема в том, что та ошибка, которую вы указали - это совсем не та ошибка, которая по правде возникает
Читайте, что пишут сами Exceptions То есть вместо... if (e.ErrorCode == 2627) Message.InnerHtml = "ОШИБКА: Запись с таким первичным ключом уже существует "; else Message.InnerHtml = "ОШИБКА: Невозможно добавить запись,пожалуйста, убедитесь, что поля правильно заполнены"; Таким образом, вы сможете суть ошибки быстрей понять. По крайней мере пока пишите и тестируете программу - Потом конечно, вы можете вывод ошибок для пользователя украсить, но во вряме разработки надо читать оригинальное сообщение |
|
------- Отправлено: 21:17, 29-11-2007 | #48 |
|
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать У Вас есть пример кода для записи и изменения данных в Access? Буду очень благодарен!
Сейчас работаю над выделением искомых слов, как только сделаю, то могу выложить примери на C#, если нужно. |
|
Отправлено: 10:56, 30-11-2007 | #49 |
|
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать 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();
}
|
|
------- Последний раз редактировалось vadimiron, 02-12-2007 в 18:49. Отправлено: 17:33, 02-12-2007 | #50 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Steam .:[все вопросы]:. | sertomclancy | Игры | 63 | 16-07-2019 06:19 | |
| Антивирусы - Avast! .:[Все вопросы]:. | Guest | Защита компьютерных систем | 137 | 08-02-2016 12:26 | |
| .NET - вопросы по ASP.NET | S1stem | Программирование и базы данных | 2 | 21-07-2015 16:33 | |
| Info - IP - INFO [Все вопросы] | gurWin | Защита компьютерных систем | 221 | 16-12-2010 14:02 | |
| Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
|