Avatar billede simonth Nybegynder
28. november 2005 - 20:37 Der er 35 kommentarer og
1 løsning

Tilføje data i MSSQL

Hej.
Jeg må hellere lige starte med at sige at jeg er nybegynder inden for .Net, så det kan sagtens være at min kode kan komme til at virke på under 3 sekunder hvis man ved hvad man laver ;)

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {

    }
      void Page_Load(object sender, EventArgs e) {
    if (!Page.IsPostBack){
        *besked = fdig dfgfdg;
    }
  }
</script>

<html xmlns=" http://www.w3.org/1999/xhtml"  >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
            InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES ('vb', *besked)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">
        </asp:SqlDataSource>
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <EditItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server" Text='<%# Bind("from") %>'>
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
                    Text="Update">
                </asp:LinkButton>
                <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </EditItemTemplate>
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server" Text='<%# Bind("from") %>'>
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>
</body>
</html>


Og den melder følgende fejl, når jeg prøver at tilføje nye data:

"Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1002: ; expected

Source Error:

Line 11:        void Page_Load(object sender, EventArgs e) {
Line 12:    if (!Page.IsPostBack){
Line 13:        *besked = fdig dfgfdg;
Line 14:    }
Line 15:  }


Source File: d:\simdkaspx\mobilbeskeder\test.aspx    Line: 13 "

Jeg har også prøvet at udskifte
*besked = fdig dfgfdg;
med
*besked = 'fdig dfgfdg';

Men så giver den bare en anden fejlmeddelse,
"Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1012: Too many characters in character literal

Source Error:

Line 11:        void Page_Load(object sender, EventArgs e) {
Line 12:    if (!Page.IsPostBack){
Line 13:        *besked = 'fdig dfgfdg';
Line 14:    }
Line 15:  }


Source File: d:\simdkaspx\mobilbeskeder\test.aspx    Line: 13 "


Jeg håber der er nogen der kan hjælpe :)
Avatar billede dr_chaos Nybegynder
28. november 2005 - 20:51 #1
hvad type er besked ? en string ?
så skal du bruge
*besked = "fdig dfgfdg";
Avatar billede simonth Nybegynder
29. november 2005 - 20:00 #2
variablen *besked (eller bare "besked" uden "*") skal indeholde en sms-besked, så den kan være f.eks. " hej,,.,.-'00meddig-øæå->3>#% " Altså, alle mulige bogstaver, tegn osv.
Jeg skal have koden til at indsætte det der står i variablen, ind i feltet "message" i tabellen "mobilmsgs" ..
Indeholdet der er i variablen skal komme fra en formular, hvor man kan indtaste hvem det er fra (felt i database: from) og beskeden (felt i database: message)
Avatar billede simonth Nybegynder
29. november 2005 - 20:01 #3
Når jeg prøver
*besked = "fdig dfgfdg";
skriver den:

"Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0103: The name 'besked' does not exist in the current context

Source Error:



Line 11:        void Page_Load(object sender, EventArgs e) {
Line 12:    if (!Page.IsPostBack){
Line 13:        *besked = "fdig dfgfdg";
Line 14:    }
Line 15:  }


Source File: d:\simdkaspx\mobilbeskeder\test.aspx    Line: 13 "
Avatar billede dr_chaos Nybegynder
29. november 2005 - 20:19 #4
jeg skriver lidt senere eller imorgen der er noget rod i det du gør.
Avatar billede simonth Nybegynder
29. november 2005 - 21:28 #5
okay, ja, det kommer ikke som en overraskelse for mig heh, jeg er ikke lige den bedste til at lære nye programmeringssprog..
Avatar billede dr_chaos Nybegynder
29. november 2005 - 22:04 #6
problemet ligger dels i at du bruger en sqldatasource til at indsætte data.
det er fint men du udvælger ikke noget data med den.
derfor kan du ikke bruge din
if (!Page.IsPostBack){
  *besked = "fdig dfgfdg";
}
til noget.
du kan evt prøve med
if (!Page.IsPostBack){
messageTextBox.Text = "afdfdsgsdg";
}
Avatar billede simonth Nybegynder
30. november 2005 - 18:04 #7
Har prøvet med det som du har skrevet, den skriver næsten det samme:
"Compiler Error Message: CS0103: The name 'messageTextBox' does not exist in the current context

Source Error:



Line 11:            void Page_Load(object sender, EventArgs e) {
Line 12:  if (!Page.IsPostBack){
Line 13: messageTextBox.Text = "afdfdsgsdg";
Line 14: }
Line 15:  }

"

Hele min kode er følgende:
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {

    }
          void Page_Load(object sender, EventArgs e) {
  if (!Page.IsPostBack){
messageTextBox.Text = "afdfdsgsdg";
}
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
            InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES ('vb', *besked)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">
        </asp:SqlDataSource>
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <EditItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server" Text='<%# Bind("from") %>'>
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
                    Text="Update">
                </asp:LinkButton>
                <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </EditItemTemplate>
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server" Text='<%# Bind("from") %>'>
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>
</body>
</html>


Jeg er jo som sagt før, meget nybegynder til ASP.Net, så der er sikkert en del fejl i overstående kode.
Jeg har prøvet at kigge lidt rundt på forskellige sider for at finde en ASP.Net (C#) kode der tilføjer/sletter/retter/viser data fra en MSSQL database, men jeg har ikke heldet med mig.


                        InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES ('vb', *besked)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">

Overstående kode er jeg næsten også helt sikker på der er fejl i. "*besked" skal jo slettes, men hvad skal der så stå der istedet for?

Når jeg trykker "Design" i Visual Web Developer 2005 Express, er der på siden følgende:
"SqlDataSource - sqladdbesked

from: abc
when: 30-11-2005 00:00:00
message: abc
New"

Jeg vil egentligt ikke have den skal vise en besked .. Man skal bare på siden kunne tilføje data i databasen, men jeg ved ikke hvordan man gør, og jeg synes ikke jeg kan få det til at virke når jeg prøver at lave koden via det grafiske i Visual Web Developer ..
Avatar billede dr_chaos Nybegynder
30. november 2005 - 19:10 #8
prøv at benytte denne kode:

<form id="form1" runat="server">
              <div>
        <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
            InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES ('vb', *besked)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">
        </asp:SqlDataSource>
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server" >
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server">
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server">
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>

fjern dette:
  if (!Page.IsPostBack){
messageTextBox.Text = "afdfdsgsdg";
}
Avatar billede simonth Nybegynder
30. november 2005 - 19:45 #9
Den viser nu:

"from: 11223344
when: 24-11-2005 22:39:00
message: hej med dig
New"

Jeg prøver at trykke på linket "New", der kommer følgende
"from:
when:
message:
Insert Cancel"

Jeg skriver i felterne:
"from: ww
when: 30-11-2005 00:00:00
message: kjgfdjgk fdgdfg
Insert Cancel"

og trykker på "Insert", men så kommer der en fejl meddelse:

"Server Error in '/simdkaspx' Application.
Incorrect syntax near '*'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '*'.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SqlException (0x80131904): Incorrect syntax near '*'.]
  System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +177
  System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +70
  System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199
  System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2296
  System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +189
  System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +380
  System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +115
  System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +391
  System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary values) +405
  System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +68
  System.Web.UI.WebControls.FormView.HandleInsert(String commandArg, Boolean causesValidation) +389
  System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +609
  System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +88
  System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
  System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +109
  System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
  System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +86
  System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +156
  System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
  System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +172
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919


Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42"

Jeg har lige lagt mærke til,
"      InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES ('vb', *besked)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">"
Der står "*besked", det er nok fejlen er, men hvordan retter jeg den?

Hele min kode ser nu sådan her ud:
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {

    }
          void Page_Load(object sender, EventArgs e) {
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>

<form id="form1" runat="server">
              <div>
        <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
            InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES ('vb', *besked)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">
        </asp:SqlDataSource>
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server" >
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server">
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server">
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>

</body>
</html>

Jeg skal på en eller anden måde have den til at indsætte noget der står i en variabel eller fra tekst boksen ind i databasen, istedet for at den prøver at indsætte "*besked"..
Avatar billede dr_chaos Nybegynder
01. december 2005 - 07:59 #10
prøv med :
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {

    }
          void Page_Load(object sender, EventArgs e) {
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>

<form id="form1" runat="server">
              <div>
        <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
            InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES ('vb', @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">
        </asp:SqlDataSource>
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server"  Text='<%# Bind("from") %>' >
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>

</body>
</html>
Avatar billede simonth Nybegynder
02. december 2005 - 18:54 #11
Tak, det virker :)

Jeg har også prøvet at sætte ind, så at alle felterne "virker" ..
Følgende virker, "from" og "message":

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {

    }
          void Page_Load(object sender, EventArgs e) {
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>

<form id="form1" runat="server">
              <div>
        <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
            InsertCommand="INSERT INTO mobilmsgs([from], message) VALUES (@from, @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">
        </asp:SqlDataSource>
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server"  Text='<%# Bind("from") %>' >
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>

</body>
</html>

Men når jeg tilføjer when

    InsertCommand="INSERT INTO mobilmsgs([from], when, message) VALUES (@from, @when, @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">

skriver den:

"
Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'when'.
"
Avatar billede simonth Nybegynder
02. december 2005 - 19:32 #12
Lige en tilføjelse:

I min SQL Server Express database står feltet "when" til typen "datetime".
Jeg skriver i feltet når jeg prøver at tilføje data: 30-12-2005 00:00
Avatar billede dr_chaos Nybegynder
02. december 2005 - 20:22 #13
prøv med
InsertCommand="INSERT INTO mobilmsgs([from], [when], message) VALUES (@from, @when, @message)"
Avatar billede simonth Nybegynder
04. december 2005 - 20:02 #14
Nu skriver den,
" Arithmetic overflow error converting expression to data type datetime.
The statement has been terminated.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Arithmetic overflow error converting expression to data type datetime.
The statement has been terminated.
"

Når jeg skriver
30-11-2005 12:39:11
i feltet "when" ..
Hvad mener den med "converting expression to data type datetime"? Jeg er ikke specielt god til engelsk såå..
Avatar billede simonth Nybegynder
04. december 2005 - 20:09 #15
Jeg har prøvet at ændre, i databasen, feltet "when" fra "datetime" til "nchar(10)" men nu skriver den
" Exception Details: System.Data.SqlClient.SqlException: String or binary data would be truncated.
The statement has been terminated.
"

Jeg må indrømme at jeg ikke har helt styr på hvilken typer der er hvad, og kan bruges til hvad .. Findes der en liste over typerne man kan vælge i en MSSQL database, hvad de kan bruges til og eksempeler på hvordan de bruges? (f.eks. hvor de skriver hvordan man skriver en korrekt datetime)
Avatar billede simonth Nybegynder
06. december 2005 - 08:11 #16
Jeg håber der er en der kan hjælpe? :) For ellers sidder jeg da godt fast i det her..
Avatar billede dr_chaos Nybegynder
06. december 2005 - 08:26 #17
så ikke lige at du havde skrevet. prøv med denne sql sætning
INSERT INTO mobilmsgs([from], [when], message) VALUES (@from,CONVERT(Datetime,@when), @message)
feltet skal være datetime.
Avatar billede simonth Nybegynder
06. december 2005 - 21:59 #18
Den melder samme fejl,
" Exception Details: System.Data.SqlClient.SqlException: Arithmetic overflow error converting expression to data type datetime.
The statement has been terminated."

For at sikre på, at jeg har skrevet koden rigtig osv. får du lige hele koden her:

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {

    }
          void Page_Load(object sender, EventArgs e) {
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>

<form id="form1" runat="server">
              <div>
        <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
InsertCommand="INSERT INTO mobilmsgs([from], [when], message) VALUES (@from,CONVERT(datetime,@when), @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">
        </asp:SqlDataSource>
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server"  Text='<%# Bind("from") %>' >
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>

</body>
</html>
Avatar billede dr_chaos Nybegynder
06. december 2005 - 22:18 #19
prøv med denne sql datasource:
    <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
InsertCommand="INSERT INTO mobilmsgs([from], [when], message) VALUES (@from,@when, @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">

<InsertParameters>
                <asp:ControlParameter ControlID="whenTextBox" Name="when" PropertyName="Text" Type=" DateTime"
                />
        </asp:SqlDataSource>
Avatar billede simonth Nybegynder
07. december 2005 - 19:34 #20
Har prøvet..
Der bliver ved med at dukke nye fejl op ;)
Nu kommer der følgende fejl:

Parser Error Message: System.Web.UI.WebControls.ParameterCollection must have items of type 'System.Web.UI.WebControls.Parameter'. 'asp:FormView' is of type 'System.Web.UI.WebControls.FormView'.

Source Error:

Line 29:        </asp:SqlDataSource>
Line 30:        &nbsp;</div>
Line 31:        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
Line 32:            <InsertItemTemplate>
Line 33:                from:
Avatar billede dr_chaos Nybegynder
07. december 2005 - 20:53 #21
prøv med:
<asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
InsertCommand="INSERT INTO mobilmsgs([from], [when], message) VALUES (@from,@when, @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">

<InsertParameters>
                <asp:ControlParameter ControlID="whenTextBox" Name="when" PropertyName="Text" Type=" DateTime"
                />
                </InsertParameters>
                </asp:SqlDataSource>

jeg havde lavet en lille fejl
Avatar billede simonth Nybegynder
07. december 2005 - 21:16 #22
Ny fejl..

" Exception Details: System.InvalidOperationException: Could not find control 'whenTextBox' in ControlParameter 'when'."

Du får lige "Stack Trace" også:

[InvalidOperationException: Could not find control 'whenTextBox' in ControlParameter 'when'.]
  System.Web.UI.WebControls.ControlParameter.Evaluate(HttpContext context, Control control) +563
  System.Web.UI.WebControls.Parameter.UpdateValue(HttpContext context, Control control) +43
  System.Web.UI.WebControls.ParameterCollection.UpdateValues(HttpContext context, Control control) +104
  System.Web.UI.WebControls.ParameterCollection.GetValues(HttpContext context, Control control) +36
  System.Web.UI.WebControls.SqlDataSourceView.InitializeParameters(DbCommand command, ParameterCollection parameters, IDictionary exclusionList) +264
  System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary values) +214
  System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +68
  System.Web.UI.WebControls.FormView.HandleInsert(String commandArg, Boolean causesValidation) +389
  System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +609
  System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +88
  System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
  System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +109
  System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
  System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +86
  System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +156
  System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
  System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +172
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919
Avatar billede dr_chaos Nybegynder
07. december 2005 - 21:57 #23
<asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
InsertCommand="INSERT INTO mobilmsgs([from], [when], message) VALUES (@from,@when, @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">

<InsertParameters>
                <asp:ControlParameter ControlID="when" Name="when" PropertyName="Text" Type=" DateTime"
                />
                </InsertParameters>
                </asp:SqlDataSource>
Avatar billede simonth Nybegynder
08. december 2005 - 18:30 #24
Nu skriver den næsten det samme:
Exception Details: System.InvalidOperationException: Could not find control 'when' in ControlParameter 'when'.
Avatar billede simonth Nybegynder
08. december 2005 - 18:31 #25
Jeg ved ikke om du behøver hele min kode igen, men du får den lige her, så du kan tjekke at der f.eks. ikke er fejl et andet sted i koden også.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {

    }
          void Page_Load(object sender, EventArgs e) {
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>

<form id="form1" runat="server">
              <div>
       
    <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
InsertCommand="INSERT INTO mobilmsgs([from], [when], message) VALUES (@from,@when, @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">

<InsertParameters>
                <asp:ControlParameter ControlID="when" Name="when" PropertyName="Text" Type=" DateTime"
                />
                </InsertParameters>
                </asp:SqlDataSource>
       
        &nbsp;</div>
        <asp:FormView ID="FormView1" runat="server" DataSourceID="sqladdbesked">
            <InsertItemTemplate>
                from:
                <asp:TextBox ID="fromTextBox" runat="server"  Text='<%# Bind("from") %>' >
                </asp:TextBox><br />
                when:
                <asp:TextBox ID="whenTextBox" runat="server" Text='<%# Bind("when") %>'>
                </asp:TextBox><br />
                message:
                <asp:TextBox ID="messageTextBox" runat="server" Text='<%# Bind("message") %>'>
                </asp:TextBox><br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Insert">
                </asp:LinkButton>
                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </InsertItemTemplate>
            <ItemTemplate>
                from:
                <asp:Label ID="fromLabel" runat="server" Text='<%# Bind("from") %>'></asp:Label><br />
                when:
                <asp:Label ID="whenLabel" runat="server" Text='<%# Bind("when") %>'></asp:Label><br />
                message:
                <asp:Label ID="messageLabel" runat="server" Text='<%# Bind("message") %>'></asp:Label><br />
                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                    Text="New">
                </asp:LinkButton>
            </ItemTemplate>
        </asp:FormView>
    </form>

</body>
</html>
Avatar billede dr_chaos Nybegynder
08. december 2005 - 22:00 #26
prøv med
  <asp:SqlDataSource ID="sqladdbesked" runat="server" ConnectionString="<%$ ConnectionStrings:simdkConnectionString2 %>"
InsertCommand="INSERT INTO mobilmsgs([from], [when], message) VALUES (@from,@when, @message)" SelectCommand="SELECT [when], message, [from] FROM mobilmsgs">

<InsertParameters>
                <asp:Parameter Name="when" Type="DateTime" />
                />
                </InsertParameters>
                </asp:SqlDataSource>
Avatar billede simonth Nybegynder
08. december 2005 - 22:14 #27
Nu virker det, selvom du lige har lavet en fejl i den sidste kode du gav ;)
" <asp:Parameter Name="when" Type="DateTime" />
                />"
Men "/>" skulle bare fjernes, så det var ikke så besværligt.

Tak for hjælpen :)
Men jeg må godt nok sige, at jeg aldrig har set noget mere besværligt end ASP.Net C#.
At bruge over en uge på at få puttet noget meget simpelt data fra en formular ind i en database, synes jeg er ekstremt overdrevet :/ Men okay, jeg er jo heller ikke programmeringsekspert - Men stadig...
Avatar billede dr_chaos Nybegynder
08. december 2005 - 22:31 #28
grunden til at det bliver besværligt for mig er at jeg ikke kan genskabe det du sidder med.
men er glad for at det lykkedes :)
jeg smider lige dette svar :)
Avatar billede simonth Nybegynder
09. december 2005 - 16:38 #29
Jeg mente ikke på den måde besværligt.. Jeg mente at jeg stadig ikke rigtig forstår koden i ASP.Net, jeg synes ikke det virker logisk..
Jeg ved ikke om jeg skal bruge PHP(5) eller ASP.Net (C#).. Jeg synes PHP er 10 gange lettere end ASP.Net og der skal man heller ikke bruge et bestemt program fra Microsoft (Visual Studio eller Visual Web Develeoper 2005 Express), men måske er det bare fordi at jeg ikke har prøvet nok med ASP.Net endnu.. Men jeg kan ikke se mulighederne i ASP.Net fremfor PHP5 som (for mig - ved ikke om det kun er mig..) virker meget lettere :)

Point er givet :)
Avatar billede dr_chaos Nybegynder
09. december 2005 - 17:22 #30
som med alle programmerings sprog skal man lære asp.net c# at kende.
Man kan faktisk godt kode uden visual studio. det er dog noget sværere.
jeg vil anbefale dig at kigge her:
http://beta.asp.net/QUICKSTART/aspnet/default.aspx
så kan du lære en del mere om asp.net 2.0.
Den måde du har valgt at programmere på er ikke den mest normale da man normalt vil bruge codebehind filen.
Så du adskiller logik fra visuelle præsentation.
Man skal i asp.net tænke meget anderledes end i php og f.eks. asp.
Avatar billede simonth Nybegynder
10. december 2005 - 15:07 #31
Jeg er ikke så god til at lære at skulle tænke anderledes..
Det med programmeringsmåden, jeg har bare hivet nogen af de funktioner fra venstre side i Visual Web Developer 2005 Express over i min ASP.Net side..
Kan godt være jeg ikke har brugt lang nok tid på det endnu, men jeg synes at når jeg har brugt ca. to uger og stadig ikke fatter en brik af sproget udover at man kan trække nogen af de allerede-lavede funktioner fra programmet over i siden..så synes jeg at sproget ikke helt passer til mig.
I forgårs brugte jeg lidt over 1 time på bare at søge efter ASP.Net vs PHP5 på Google..Jeg fandt et par sider..
Efter at have læst alle siderne igennem flere gange, kan jeg se at valget af PHP5 eller ASP.Net afhænger af ens behov. Jeg har ikke det store behov, jeg skal ikke integrere Microsoft Office objekter ind i siden eller noget andet avanceret.
Jeg skal bare kunne finde ud af sproget, og synes det er sjovt at kode det. Jeg synes ikke ASP.Net er særligt sjovt når jeg skal bruge så lang tid på så lidt, og når jeg ikke forstår en brik af koden :/

Så det er spørgsmålet om jeg skal gå tilbage til PHP5 eller om jeg skal prøve lidt videre med ASP.Net (selvom det nok ikke hjælper).....
Avatar billede dr_chaos Nybegynder
10. december 2005 - 15:41 #32
tjaa det er op til dig selv.
Med alle programmerings sprog tager det tid at lære.
Personligt vil jeg anbefale dig asp.net. Det er klart mit foretrukne sprog.
Men jeg arbejder også som udvikler til daglig og ser på det med lidt andre øjne.
Avatar billede simonth Nybegynder
10. december 2005 - 15:45 #33
Ja, selvfølgelig tager det noget tid at lære et programmeringssprog, men når jeg efter to uger ikke engang har fundet ud af hvordan man laver en "hello" funktion, eller bare hvad én af tingene i koden betyder, tror jeg ikke jeg kan lære det..

Hvorfor har du valgt at programmere/udvikle i ASP.Net istedet for f.eks. PHP5?
Avatar billede dr_chaos Nybegynder
10. december 2005 - 16:03 #34
fordi jeg personligt synes at asp.net er bedre og nemmere at programmere i.
Jeg foretrækker at holde logik og visuelle elementer adskilt.
hvis du prøver at benytte nogle af de ting som ligger her:
http://beta.asp.net/QUICKSTART/aspnet/default.aspx
så har du mulighed for at få en god indledning til asp.net 2.0.
jeg synes at php og asp giver et for rodet  billede når man programmere.
asp er for svagt.
Man kan meget med php ingen tvivl om det men der blander man stadigvæk logikken ind i blandt html tags osv.
Avatar billede simonth Nybegynder
10. december 2005 - 17:51 #35
Okay.
Jeg vil prøve at kigge lidt på det link du har skrevet.
Og så prøve videre med ASP.Net i lidt tid endnu, men hvis jeg synes det er indviklet, kompliceret og bare generelt svært at programmere i, efter jeg har prøvet mere med ASP.Net, så tror jeg jeg vil vende tilbage PHP :)
Avatar billede simonth Nybegynder
10. december 2005 - 17:51 #36
vil vende tilbage til PHP*
...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester