webForumDet fria alternativet

Rookie - Lägga in information i databasen

.NET

2 svar · 453 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Frågan#1

Hej,
blir tokig på ett fel jag inte riktigt förstår mig på.
Jag har den här koden i en knapp, jag vill att den ska spara en post i databasen

protected void Button2_Click(object sender, EventArgs e)
{
    uint user_id = System.Convert.ToUInt16(Session["user_id"]);
    blogTableAdapters.blogentryTableAdapter blogInsertAdapter = new blogTableAdapters.blogentryTableAdapter();
    blog.blogentryDataTable blogInsertTable = blogInsertAdapter.Insert(title.Text.ToString(), DateTime.Now, message.Text.ToString(), user_id);
    Response.Redirect("index.aspx");
}

title och message är textboxar och Insert() har string, DateTime, string, uint som inparametrar.
Jag får felmeddelande

Cannot implicitly convert type 'int' to 'WebApplication1.labb4.blog.blogentryDataTable' C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\labb4\index.aspx.cs

Varför? Tycker inte jag skickar in någonting fel bland Insert-parametrarna.

Tack!

Medlem sedan juli 20033 147 inlägg
#2

Tröttheten själv som talar.
Heh, när jag tog bort

blog.blogentryDataTable blogInsertTable =

så funkar det. Antar att blogInsertTable inte får innehålla en int.

Medlem sedan dec. 2004736 inlägg
#3

blogInsertAdapter.Insert(..); returnerar ju, som du säger, en int. Men din blogInsertTable är ju av typen blog.blogentryDataTable, och som felmeddelandet säger kan du inte konvertera en integer till detta.

int blogInsertTable = blogInsertAdapter.Insert(title.Text.ToString(), DateTime.Now, message.Text.ToString(), user_id);

hade ju däremot fungerat utmärkt.

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)