|
Hi! I'm going to serialize/save an object into a MS SQL Database ... but how?
Hope anybody can help me!!
/Kenneth
|
|
|
|
|
ok I have problems with understanding somethings at times, and even a hard time explaining things. so here goes. i have a database it holds certain info a username, a password, a contact, a Studentname, and a set of rotations 1-9. ok say you have a set of fields you want to update based upon the username you picked on the previous page how would you go about it? The problem I find is that the update updates the first record in the database not the record i was looking at.can anyone help? constructive help only please!!! here is my code so far.....
<%@ Language="VBScript" %>
<%
Student=request.querystring("Student")
dim TitleChoice
Set TitleChoice = Server.CreateObject("ADODB.Recordset")
With TitleChoice
.ActiveConnection = connLoginUserData
.Source = "SELECT * FROM TitleChoice"
.CursorType = 3
.CursorLocation = 2
.LockType = 3
.Open()
End With
%>
<%
Dim strErrorMessage ' String used to display an error message.
Dim rsUser ' References the user recordset.
Dim rsUserLog ' References the user log recordset.
Dim strEmailTo
Dim strEmailFrom
Dim strSubject
Dim strBody
If Len(Request.Form("Submit")) > 0 Then
If Len(Request.Form("StudentName")) > 0 Then
If Len(Request.Form("Email")) > 0 Then
Set rsUser = Server.CreateObject("ADODB.Recordset")
With rsUser
.ActiveConnection = connLoginUserData
.Source = "Select * FROM tblUsers WHERE StudentName='" & Student & "';"
.CursorType = 3
.CursorLocation = 2
.LockType = 3
.Open()
.Fields("Email") = Request.Form("Email")
.Fields("Rotation1") = Request.Form("Rotation1")
.Fields("Rotation2") = Request.Form("Rotation2")
.Fields("Rotation3") = Request.Form("Rotation3")
.Fields("Rotation4") = Request.Form("Rotation4")
.Fields("Rotation5") = Request.Form("Rotation5")
.Fields("Rotation6") = Request.Form("Rotation6")
.Fields("Rotation7") = Request.Form("Rotation7")
.Fields("Rotation8") = Request.Form("Rotation8")
.Fields("Rotation9") = Request.Form("Rotation9")
.Fields("UserName") = Request.Form("StudentName")
.Fields("Password") = "student"
.Fields("Contact") = Request.Form("Contact")
.Fields("Address") = Request.Form("Address")
.Fields("AccessAllowed") = True
.Update
End With
Response.Redirect "/default.asp"
Else
strErrorMessage = "Please enter an email address."
End If
Else
strErrorMessage = "Please enter the students name."
End If
End If
%>
<title>Student Update Wizard
Student Update Form (All fields required)
<%
If Len(Request.Form("Submit")) > 0 AND Len(strErrorMessage) > 0 Then
Response.Write " " & strErrorMessage
End If
%>
|
Student Full Name:
(First and Last)
|
| <%=rsUser("StudentName")%>
|
Student Contact Name:
|
| <%=rsUser("Contact")%>
|
Student Address:
|
| <%=rsUser("Address")%>
|
Email Address:
|
| <%=rsUser("Email")%>
|
Rotation1
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation1")%>
|
Rotation2
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation2")%>
|
Rotation3
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation3")%>
|
Rotation4
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation4")%>
|
Rotation5
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation5")%>
|
Rotation6
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation6")%>
|
Rotation7
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation7")%>
|
Rotation8
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation8")%>
|
Rotation9
|
Titles
<%
on error resume next
TitleChoice.MoveFirst
do while not TitleChoice.eof
title=TitleChoice("title")
%>
"><%=title%>
<%
TitleChoice.movenext
loop
%>
| <%=rsUser("Rotation9")%>
|
|
|
|
|
|
|
|
I have a table which has a field "ID". The default ID of the field calls the newid() function and generates a GUID. This all works fine.
I would like to return the new record ID to my app after adding a record via ADO AddNew. How can I do this. I have tried trying to get the value from the field after the call to AddNew but it returns a VT_EMPTY. I've tried doing it after the Update call but that is also VT_EMPTY.
This is the code I'm using,
Recordset.Create();
Recordset.Open("calls", *m_pConnection, littleADO::adOpenDynamic,littleADO::adLockOptimistic,littleADO::adCmdTable);
variant_t vt;
try
{
Recordset.AddNew();
Recordset.m_pRecordset->Fields->Item["Ref"]->Value = pData->m_sRef.c_str();
Recordset.m_pRecordset->Fields->Item["PoliceForceID"]->Value = pData->m_sPoliceForceID.c_str);
Recordset.m_pRecordset->Fields->Item["DivisionID"]->Value = pData->m_sDivisionID.c_str();
Recordset.m_pRecordset->Fields->Item["LocationID"]->Value = pData->m_sLocationID.c_str();
Recordset.m_pRecordset->Fields->Item["CustodyID"]->Value = pData->m_sCustodyID.c_str();
Recordset.m_pRecordset->Fields->Item["CustodyDesc"]->Value = pData->m_sCustodyDesc.c_str();
Recordset.m_pRecordset->Fields->Item["CallTime"]->Value = COleVariant(pData->m_CallTime);
Recordset.m_pRecordset->Fields->Item["Status"]->Value = pData->m_nStatus;
Recordset.m_pRecordset->Fields->Item["UserName"]->Value = pData->m_sUserName.c_str();
// try and get the id here
vt = Recordset.m_pRecordset->Fields->Item["ID"]->Value;
Recordset.m_pRecordset->Update();
vt = Recordset.m_pRecordset->Fields->Item["ID"]->Value;
}
Michael
|
|
|
|
|
I've changed my code to use a stored procedure which returns the value of the ID back as an output parameter. This works pretty well.
I'd still be interested to know if it is possible via AddNew though.
Michael
|
|
|
|
|
Hallo
Does anyone know how I can check, if a dBase-recordset is deleted while using ADO?
Thanks.
|
|
|
|
|
Hi, I don't know how to detect deleted record via ADO, but I know the file structure and there is asterisk in the dbf file.
Alex.
|
|
|
|
|
I found an interesting article comparing various databases, MS SQL among them. They mainly used JDBC to test the dbs, and surprise surprise, MS SQL didn't do so hot. But, when MS SQL was used in an all MS environment, it more than held its own.
Jon Sagara
What about ?
Sonork ID: 100.9999 jonsagara
|
|
|
|
|
Very Interesting...
Regards...
Carlos Antollini.
Sonork ID 100.10529 cantollini
Beta. Software undergoes beta testing shortly before it's released. Beta is Latin for "still doesn't work."
|
|
|
|
|
I have an Access database with some tables . From a web page (using ADO )the records in a table can be modified or new records can be added .
From a Visual C++ (using also ADO) program I have to monitor these changes .
How can I do this ??
At a new record insertion I tried to read the recordcount from table , but it is increased only after 2-3 seconds after the insertion performed at web page.
Thakx
Jancsi
|
|
|
|
|
Wrote a front end in VC++ to a small Access 2000 database utilising ODBC. When I add a new row to a table and then read through the table again to display the contents on screen the new row is missing. If I read the table a second time the new row is there. I Open and Close the database connection after each action so I don't believe that I am reading the data from cache.
Any idea why the new row is missing when I read throught the table immediately after adding the row?
Michael Martin
Australia
mmartin@netspace.net.au
"Don't belong. Never join. Think for yourself. Peace"
- Victor Stone
|
|
|
|
|
Just wondering what I need to add to a VC++ program to allow me to directly access an SQL Server database using Transact SQL. Is there an SQL Server SDK?
Michael Martin
Australia
mmartin@netspace.net.au
"Don't belong. Never join. Think for yourself. Peace"
- Victor Stone
|
|
|
|
|
You could add an ADO class found in CodeProject somewhere and in there you can create strings which consist of your T-SQL then you get a recordset back. you dont need an sql sdk.
I hope thats what you wanted;)
The Wudan Master
|
|
|
|
|
|
You can use the dbengine of sql server or my ado classes
Regards....
Carlos Antollini.
Sonork ID 100.10529 cantollini
I have yet to meet a C compiler that is more friendly and easier to use than eating soup with a knife.
|
|
|
|
|
Hello All,
This is a pure newbie question on use of Oracle database. I need to design a system
to access Oracle database on a Windows client. We only have Oracle installed on
Windows server.
Can someone help me with the options available, if any?
Do I have to install a client version on the Windows machine?
Will the client version access the database on Unix Machine?
Any another information will be highly appreciated.
Best regards,
Paul.
Paul Selormey, Bsc (Elect Eng), MSc (Mobile Communication) is currently Windows open source developer in Japan.
|
|
|
|
|
You should install oracle client on every machine from wich you will connect to Oracle. Location of Oracle (WinNT or Linux) is not important. You just have to configurate tnsnames.ora files on client machines. Usual practice is design single Oracle client driver that will communicate with Oracle and all client applications will communicate with him. So you don't need to install oracle client on all machines, but you need to realize your own transport protocol to communicate client applications and your driver.
Good Luck,
Serge
|
|
|
|
|
Thanks so much for the information. I am also looking at the 9i internet features too. The main problem was that the customer was limiting us to only HTTP access of the database.
Best regards,
Paul.
Paul Selormey, Bsc (Elect Eng), MSc (Mobile Communication) is currently Windows open source developer in Japan.
|
|
|
|
|
Hi guys:
I have two question about ADO.Net
1.How or where can I set the "Curser type"?
2.I have datagrid that connect to database with sqlDataAdapter,and sqlConnection.
In VC++ I could set the propety of grid to 'Allow Update' or 'Allow Delete' 'AddNew',
Now in ADO.Net how can set the grid as "Updatable" or "readonly"?
Thanks
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
I don't think you'll find that property, if you use a DataSet it will be always Client Side
<help>
Property Value
true if the grid is in read-only mode; otherwise, false. The default is false.
Remarks
In read-only mode, the grid can be scrolled, nodes can be expanded or collapsed, and so on, However, no additions, edits, or deletes may take place.
The DataGridColumnStyle also has a ReadOnly property that can be set to true to prevent data from being edited, on a column-by-column basis.
The ReadOnly may be set to true if you want to prohibit the user from editing the data directly in the DataGrid. For example, you may want to let users to see all columns in a table, but allow them to edit specific fields only through TextBox controls on a different form.
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
thanks
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
Please read the message ExecuteSQL -> ? first.
I learned yesterday that ExecuteSQL doesn't return colums, and used the following lines of code to execute a SQL statement:
CRecordset sg;
sg.Open(CRecordset::snapshot, _T("SELECT * FROM Leden ORDER BY Voornaam"));
But when I call the function which will execute this code , I get an error, and it says that I have to call the SQLFetchScroll / SQLExtendedFetch method first, but... how?
|
|
|
|
|
I'm not sure but I think you have to first bind CDatabase to CRecordset:
CDatabase aDB;
aDB.OpenEx(_T("DSN=test"),CDatabase::openReadOnly | CDatabase::noOdbcDialog);
CRecordset aRS(&aDB);
aRS.Open(CRecordset::forwardOnly,"SELECT *from Table1");
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
Can somebody give me an explanation of how the SQL server works and compared to say Access...?
This much I know:
SQL is a language used for manipulating, reading, sorting the database. Where is the SQL engine...? Is it part of the Access program...? or part of the metadata in the Database...? Are the SQL commands stored in the DB..>?
SQL Server runs much faster than Access, cuz it's designed to take advantage of Server hardware(Raid disks, 2 processors, etc) where as access is normal window app designed for client computers.
how does an access DB differ than a SQLServer DB..>?
They both can execute the commands right..? Do they share the same file structure...? Is SQL Server a application..?
Can the SQL Server used Access DB through a driver like ODBC...?
These are just some questions i have regarding DB technology.
If i'm in the wrong forum...my appologies...if i'm incorrect about anything...my appologies
Cheers
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
Check this
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
I have that book already actually...
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|